ado.net提供了丰富的数据库操作,这些操作可以分为三个步骤:
第一,使用SqlConnection对象连接数据库;第二,建立SqlCommand对象,负责SQL语句的执行和存储过程的调用;
第三,对SQL或存储过程执行后返回的“结果”进行操作。
我们一步步来分析!
1.SqlConnection连接数据库
命名空间:System.Data.SqlClient.SqlConnection;
返回数据库连接对象,参数字符串。实例化“连接对象”,并打开连接
SqlConnection sqlCnt = new SqlConnection(connectString);
sqlCnt.Open();
using (SqlConnection conn = new SqlConnection(@"Data Source=(LocalDB)\v11.0;
AttachDbFilename=E:\HUST-CODE\ADO_NETPra\ADO_NETPra\Database1.mdf;Integrated Security=True"))
{
//打开数据库
conn.Open();
Console.WriteLine("connect opened.");
//显示当前数据库的连接状况
Console.WriteLine("connection properties:");
Console.WriteLine("\tConnection String: {0}",conn.ConnectionString);
Console.WriteLine("\tDataBase: {0}",conn.Database);
Console.WriteLine("\tDataSource: {0}",conn.DataSource);
Console.WriteLine("\tServer Version: {0}",conn.ServerVersion);
Console.WriteLine("\tState: {0}",conn.State);
}
Console.WriteLine("成功!");
Console.ReadKey();
2.SqlCommand连接数据库
创建SqlCommand连接的方式有两种:
第一种:
SqlCommand cmd = new SqlCommand( );
cmd.connection = conn;
第二种
SqlCommand cmd = conn.creatCommand;
CommandText属性(可读可写),用来保存要执行的SQL语句,可以直接给该属性赋值,也可以在命令构造时指定该属性的值!
cmd.CommandText = @"select * from DateBase1";
或
string sql =@"select * from DateBase1";
SqlCommand cmd = new SqlCommand(sql, conn);
注:在执行Command 对象前,必须同时设置其Connection 和 CommandText的值.
3.执行操作并返回结果
SqlDataReader对象
命名空间:System.Data.SqlClient.SqlDataReader;
SqlDataReader对象提供只读单向数据的功能,单向:只能依次读取下一条数据;只读:DataReader中的数据是只
读的,不能修改;相对地DataSet中的数据可以任意读取和修改. 使用完毕后,需要关闭读取器!
它有一个很重要的方法,是Read(),返回值是个布尔值,作用是前进到下一条数据,一条条的返回数据,当布尔
值为真时执行,为假时跳出。
注:读取数据时,我们可以使用序数索引器,也可以使用列名索引器。
SqlDataReader rdr = cmd.ExecuteReader();
rdr[0] or rdr["Name"]