您的位置:首页 > 数据库

ADO.NET——Command(执行SQL) & DataReader(读取数据库)

2014-05-01 15:53 309 查看
   

一,关于两个对象的基础知识

   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对象,基本可以完成对数据库的读操作。

   未完待续。。。

 

   

  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: