ADO.NET
ADO.NET是.NET框架中的重要组件,主要用于完成C#应用程序访问数据库。
ADO.NET使用的命名空间
- System.Data, DataTable,DataSet,DataRow,DataColumn,DataRelation,Constraint,DataColumnMapping,DataTableMapping
- System.Data.Coummon 各种数据访问类的基类和接口
- System.Data.SqlClient 对Sql Server进行操作的数据访问类
ADO.NET核心对象
- SqlConnection:数据库连接器
- SqlCommand:数据库命名对象
- SqlDataReader:数据读取器
- SqlDataAdapter:数据适配器,填充DataSet
- DataSet/DataTable:数据容器
- SqlCommandBuilder:生存SQL命令
- SqlParameter:为存储过程定义参数
- SqlTransaction:数据库事物
C#连接数据库
Connection连接对象
Connection对象也称为数据库连接对象,Connection对象的功能是负责对数据源的连接。所有Connection对象的基类都是DbConnection类。
创建连接字符串
SQL Server链接字符串
标准安全连接
Data Source=.;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;
或者
Server=myServerAddress;Database=myDataBase;User Id=myid;Password=mypwd;Trusted_Connection=False;
可信连接:
Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI;
或者
Server=myServerAddress;Database=myDatabase;Trusted_Connection=True;
Access连接字符串
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\myDatabase.mdb;User Id=admin;Password=;
MySQL连接字符串
Server=myServerAddress;Database=myDatabase;Uid=myUsername;Pwd=myPassword;
DB2连接字符串
Server=myAddress:myPortNumber;Database=myDatabase;UID=myUsername;PWD=myPassword;
Oracle连接字符串
Data Source=TORCL;User Id=myUsername;Password=myPassword;
连接到数据库
Connection对象有两个重要属性:
(1)ConnectionString:表示用于打开 SQL Server数据库的字符串;
(2)State:表示Connection的状态,有Closed和Open两种状态。
Connection对象有两个重要方法:
(1)Open()方法:指示打开数据库;
(2)Close()方法:指示关闭数据库。
Command对象
Command对象也称为数据库命令对象,Command对象主要执行包括添加、删除、修改及查询数据的操作的命令。也可以用来执行存储过程。用于执行存储过程时需要将Command对象的CommandType属性设置为CommandType.StoredProcedure,默认情况下CommandType 属性为CommandType.Text,表示执行的是普通SQL语句。
Command主要属性
- CommandText:指定要执行的SQL语句或者存储过程名称
- Connection:将CommandText语句放到哪个连接中去执行,指定执行SQL语句的具体数据库
- CommandType:默认是设定给CommandText属性指定SQL语句,如果使用存储过程则需要设置成StoredProcedure
Command主要方法
ExecuteNonQuery
执行一个SQL语句,返回受影响的行数,这个方法主要用于执行对数据库执行增加、更新、删除操作,注意查询的时候不是调用这个方法。用于完成insert,delete,update操作。
ExecuteScalar
从数据库检索单个值。这个方法主要用于统计操作。ExecuteScalar()这个方法是针对SQL语句执行的结果是一行一列的结果集,这个方法只返回查询结果集的第一行第一列。
ExecuteReader
ExecuteReader用于实现只进行读取的高效数据查询。
返回一个SqlDataReader对象,可以通过这个对象来检查查询结果,它提供了只进只读的执行方式,即从结果中读取一行之后,移动到另一行,则前一行就无法再用。有一点要注意的是执行之后,要等到手动去调用Read()方法之后,DataReader对象才会移动到结果集的第一行,同时此方法也返回一个Bool值,表明下一行是否可用,返回True则可用,返回False则到达结果集末尾。