一,关于两个对象的基础知识
1,Command
Command对象主要用于对数据源执行SQL命令并返回结果。
ADO.NET提供了Connection来连接数据库,同时也提供了Command对象来查询数据库。同Connection对象一样,Command也有两种:OleDbCommand和SqlCommand.其区别同Connection对象。
Command对象有一个属性:CommandType(sql语句或者存储过程);三个重要方法:ExecuteNonQuery(增、删、改影响的行数)、ExecuteReader(返回DataReader对象类型)ExecuteScalar(返回结果集的第一行第一列值).
2,DataReader
而DataReader对象不能直接实例化,必须通过Command对象中的一个方法来创建。
所以,在使用这两个对象时,可以把他们连起来使用。首先,我们用Connection连接数据库,然后用Command执行数据库命令,最后将执行的结果传递给DataReader.
二,示例
例如:
static void Main(string[] args) { //创建连接 string strConn = "database=Login;server=localhost;UID=sa;PWD=123456"; //连接字符串 using (SqlConnection conn = new SqlConnection(strConn)) //建立连接,并且当连接使用完后自动关闭 { conn.Open(); //打开连接 //查询 string strSQL = "select * from Users where ID=@UserID"; SqlCommand cmd = new SqlCommand(strSQL, conn); //添加参数 string userid = "1"; //查询用户ID=1的用户 cmd.Parameters.AddWithValue("@UserID", userid); //参数的赋值 //执行查询,保存结果 SqlDataReader reader = cmd.ExecuteReader(); //将查询结果保存在reader里面 //显示查询结果 if (reader.HasRows) //如果查到的结果不为空 { while (reader.Read()) //读取每条,逐条显示 { Console.WriteLine("ID是:{0};UserName是:{1}", reader["ID"], reader["UserName"]); } } else //没有查询结果时候 { Console.WriteLine("没有查到结果"); } } //conn.Close(); //关闭连接 }
以上例子包含了Command的参数化查询过程和DataReader的基本使用,再加上connection对象,基本可以完成对数据库的读操作。
未完待续。。。