ADO.net操作数据库
今天整理硬盘,发现2年前开始着手开始学习C#的学习日记。陆续整理,一是自己的知识梳理梳理,二是希望与大家多多交流,能给初学者带来一定帮助,当然是更高兴的啦。
断线对象
另一类是与数据源无关的断线对象,例如DataSet对象和DataRelation对象,用户可以利用连接对象获取数据源中的原始数据,并且利用断线对象,一次返回给前端用户,前端用户在处理变动数据的过程中,并不需要保持与数据库的连接,当对所有数据完成变动操作之后,再一次通过连接对象将数据返回更新到数据库,因为不需要时时保持与数据库连接,所以能够大大降低所消耗的系统资源。
访问数据库的模式
1) OLEDB
OLEDB模式主要用于OLEDB所支持的数据库。OLEDB数据提供程序通过OleDbConnnection对象提供了使用OLEDB公开数据源的连接。
2) ODBC
ODBC模式主要用于ODBC所支持的数据库。可以通过系统建立DSN来实现对数据库的调用。
3) SqlClient
只用于访问MS Sql Sever数据库,是ADO。Net中比较特殊的组件,当然,MS Sql Severs也是支持OLEDB和 ODBC ,也可以通过OLEDB和 ODBC模式来访问,但是试验证明,SqlClient模式比ODBC OLEDB模式的效率更高。
DataAdapter对象
SqlConnection conn = new SqlConnection
(@"DataSource = .\SQLEXPRESS;AttachDBFilename= |DataDirectory|\Datebase1.mdf; Integrated Security = True; User Instance = True;") SqlConnection conn = new SqlConnection
(”Sever = 服务器名Local(或IP地址));User ID = 用户名;Pwd =密码;DataBase=数据库名称”)
该对象主要负责在Command对象执行完SQL语句后生成并填充DAtaSet和DataTable,而DataSet主要负责存取和更新数据。
连接Access数据库
private void button1_Click(object sender, EventArgs e)
{
string reportPass = Application.StartupPath.Substring(, Application.StartupPath.Substring(Application.StartupPath.LastIndexOf("\\")).LastIndexOf("\\")); reportPass += @"\项目管理系统数据库_2011-06-16";
string Constr = "Provider = Microsoft.Jet>OLEDB.4.0;Data source =" + reportPass;
OleDbConnection conn = new OleDbConnection(Constr);
conn.Open();
if (conn.State == ConnectionState.Open)
{
MessageBox.Show("数据库连接成功");
}
else
{
MessageBox.Show("数据库连接失败");
}
}
SQL连接字符串
SqlConnection conn = new SqlConnection
(@"DataSource = .\SQLEXPRESS;AttachDBFilename= |DataDirectory|\Datebase1.mdf; Integrated Security = True; User Instance = True;") SqlConnection conn = new SqlConnection
(”Sever = 服务器名Local(或IP地址));User ID = 用户名;Pwd =密码;DataBase=数据库名称”)
DataSet 对象表示包括相关表、约束和表间关系在内的整个数据集。
private void button1_Click(object sender, EventArgs e)
{
//实例SqlConnection对象
SqlConnection conn = new SqlConnection();
//设置连接字符串
conn.ConnectionString = "Sever = local;uid=sa;pwd=;database=db_11";
//打开数据库连接
conn.Open();
SqlCommand cmd = new SqlCommand("select 学生姓名from tb_02 ",conn );
//获取数据适配器
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = cmd;
//填充Dataset
DataSet ds = new DataSet();
da.Fill(ds);
//绑定Dataset数据
listBox1.DataSource = ds.Table[].DefaultView;
listBox1.DisplayMember = "学生姓名";
//断开连接
conn.Close();
DataTable对象表示内存驻留数据的单个表,其中包括DataColumnCollection类表示的列集合以及由ConstraintCollection类表示的约束集合,这两个集合共同定义表的架构。DataTable对象还包含DataRowCollection类所表示的行的集合,而DataRowCollection类则包含表中的数据,除了其当前状态之外,DataRow对象还会保留其当前版本和初始版本,以标识对行中存储的值得更改。
DataRelationCollection
表示关系,它使一个DataTable对象中的行与另外一个DataTable对象中的行相关联。关系类似于可能存在于关系数据库中的主键列和外键列之间的连接路径。
绑定DataTable数据
listBox1.DataSource = ds.Table[0].DefaultView;
DataReader对象
DataReader对象是一个简单的数据集,用于数据源检索制度数据集,常用于检索大量数据,
DataReader对象只允许以只读、顺向的方式查看其中所存储的数据,提供一个非常有效率的数据查看方式,同时DataReader对象还是一种非常节省资源的数据对象,读者可以参照DataSet对象来学习。
注意:每次打开一个新对象,必须关闭一个DataReader对象,因为它是以独占的方式与数据库交互,否则会接收到其产生的异常。
内置配置文件
-> 添加新项-> 应用程序配置文件
//创建SqlDataAdapter对象实例
SqlDataAdapter AdapterSelect = new SqlDataAdapter("select *from tb_05",conn);
//创建DataTable实例
DataTable dt = new DataTable();
AdapterSelect.Fill(dt);
//填充控件
dataGridView1.DataSource=dt.DefaultView;
DataTable对象实例
Try
{
。。。。。。
}
//如果出现异常
Catch(Exception ee)
{
MessageBox.Show(ee.Message.ToString());
}
ADO.net操作数据库的更多相关文章
- Asp.Net Core 2.0 项目实战(4)ADO.NET操作数据库封装、 EF Core操作及实例
Asp.Net Core 2.0 项目实战(1) NCMVC开源下载了 Asp.Net Core 2.0 项目实战(2)NCMVC一个基于Net Core2.0搭建的角色权限管理开发框架 Asp.Ne ...
- Win10 64位系统ADO方式操作数据库失败解决方法
VC操作Access数据库一般通过ODBC.ADO.DAO等方式,但在我的Win10 64位操作系统中,通过ADO方式操作数据库会失败,无法读取数据.解决方法:1.首先确保Win10操作系统ado目录 ...
- ADO.Net操作数据库的方式
1.使用数据提供程序执行sql或者ddl语句操作数据库. 2.使用oledb操作数据库 3.使用odbc操作数据库 4.使用DataSet操作数据库 前面3种方式都无法避免要使用sql语句,对不同种类 ...
- ADO.NET操作数据库(一)
---恢复内容开始--- [1]ADO.Net简介2015-12-07-20:16:05 ADO.Net提供对Microsoft SQL Server数据源以及通过OLE DB和XML公开的数据源的一 ...
- ADO.NET 操作数据库 --- 01 简单封装
由于我是Java转的C#开始的时候就用的NHihernate,和EF 对ADO.NET使用较少,现在封装一个ADO.NET的工具类来实现数据库的操作,比较简单,望大家多多提意见. 如果大家有什么学习中 ...
- C# ADO.NET操作数据库 SqlHelp.cs类
刚开始练习ADONET的时候,练习的一个SQLHelp.cs 数据库操作类,很简单,但是也很实用 using System; using System.Collections.Generic; us ...
- 使用ADO.NET操作数据库
如有转载的请注明出处!蟹蟹 1.1使用对象连接OLE DB 数据源 OLE DB 数据源包含具有OLE DB 驱动程序的任何数据源,如SQL Server.Access.Excel.Oracle等. ...
- MFC,ADO方式实现数据库操作
参考: MSDN数据访问编程 (MFC/ATL): https://msdn.microsoft.com/zh-cn/library/kd4ck1tt.aspx?f=255&MSPPError ...
- 就这么 来ADO.net类操作数据库
使用ADO.net操作数据库其实也是很简单,而且使用频率蛮高的一种方式.话不多说,上代码才更容易理解. 首先,先要引入数据库操作相关的命名空间,这样才能使用下面的代码 //数据库连接引用的命名空间 u ...
随机推荐
- 磁盘阵列(RAID)实例
raid技术分类可以分为基于软件raid技术和基于硬件raid技术 raid又分为raid-0.raid-1.raid-5和raid-10 Raid有”廉价磁盘冗余阵列”的意思,就是利用多块廉价的硬盘 ...
- Net分布式系统之一:系统整体框架介绍
一.设计目的 从事.Net平台开发系统已有8年多了,一直思考搭建.Net分布式系统架构.基于window平台搭建的大型分布式系统不多,之前了解过myspace.stackoverflow等大型网站.搭 ...
- JavaScript DOM编程艺术读书笔记(一)
第一章,第二章 DOM:是一套对文档的内容进行抽象和概念化的方法. W3C中的定义:一个与系统平台和编程语言无关的接口,程序和脚本可以通过这个接口动态的访问和修改文档的内容,结构和样式. DHTML( ...
- UGUI代码分析
1.canvas,screen模式和world模式区别:screen的绑定摄像机与canvas相对位置不会改变不可改变canvas,world模式下有个event camera相对位置可改变,canv ...
- linux下服务端实现公网数据转发
之前在腾讯上使用了一个免费的公网服务器,只有7天,linux系统. 其实有这样的想法,是因为有个研二的师弟问我怎么样才能让连个局域网的电脑通信. 我跟他说了两种方法,一种是找个公网服务器来转发数据,另 ...
- [字符编码]Invalid byte 1 of 1-byte UTF-8 sequence终极解决方案
今天在eclipse中编写pom.xml文件时,注释中的中文被eclipse识别到错误:Invalid byte 1 of 1-byte UTF-8 sequence,曾多次遇到该问题,问题的根源是: ...
- spring整合struts2
1. Spring 如何在 WEB 应用中使用 ? 1). 需要额外加入的 jar 包: spring-web-4.0.0.RELEASE.jarspring-webmvc-4.0.0.RELEASE ...
- 类的序列化和反序列化(ObjectOutputStream和ObjectInputStream)
1.需要序列化的类 import java.io.Serializable; /** * 必须继承 Serializable 接口才能实现序列化 */ public class Employee im ...
- SQL 查询性能优化----解决书签查找
先来看看什么是书签查找: 当优化器所选择的非聚簇索引只包含查询请求的一部分字段时,就需要一个查找(lookup)来检索其他字段来满足请求.对一个有聚簇索引的表来说是一个键查找(key lookup), ...
- DQL、DML、DDL、DCL的概念与区别
SQL(Structure Query Language)语言是数据库的核心语言. SQL的发展是从1974年开始的,其发展过程如下:1974年-----由Boyce和Chamberlin提出,当时称 ...