C# Command对象
###1、Command对象的Execute方法
####(1)ExecuteNonQuery:返回受影响的行数,它只能执行insert、update、delete的sql语句,执行select会出现特殊情况,报错或者影响其它的代码逻辑而报错。
适用情况:执行insert、update、delete的sql语句的时候。
返回对象:int类型
代码:
SqlCommand cmd=new new SqlCommand(); //创建command对象
cmd.Connection = conn; //设置连接对象
cmd.CommandText = strSql; //设置要查询的sql语句
int n=cmd.cmd.ExecuteNonQuery(); //执行
####(2)ExecuteReader:返回一个DataReader对象,它用于执行select查询语句,提供一种从 数据库读取行的只进流的方式。
适用情况:当想要读取一个表中的记录或是表中具体某一行某一列的值时。
返回对象:DataReader对象(注意,该对象没有构造函数,只能由ExecuteReader创建)
代码:
SqlCommand cmd=new new SqlCommand(); //创建command对象
cmd.Connection = conn; //设置连接对象
cmd.CommandText = strSql; //设置要查询的sql语句
SqlDataReader reader = cmd.ExecuteReader(); //执行
while (reader.Read()) //必须写这个判断,否则会报错。 读取reader中的记录,并自动到下一条。
{
string name = reader["name"]; //将reader对象当前的指向行的“name”列的值读取到字符串name中
}
reader.close(); //DataReader对象必须使用完之后关闭,否则会影响其它数据的操作。
####(3)ExecuteScalar:执行查询,返回结果集中的第一行第一列。
适用情况:当想查询表中是否存在某一条记录时。
返回对象:object类型,因为不确定它的具体类型是什么。
代码:
SqlCommand cmd=new new SqlCommand(); //创建command对象
cmd.Connection = conn; //设置连接对象
cmd.CommandText = strSql; //设置要查询的sql语句
object o=cmd.ExecuteScalar(); //执行查询
if (o!=null)
{
//查询到一条记录
}
###2、Command对象的属性
####(1)Connection:Connection类型,连接对象
代码:
SqlConnection conn= new SqlConnection(strConn); //strConn是连接字符串,创建一个连接对象
cmd.Connection = conn;
####(2)CommandText:string类型,查询语句
代码:
string strSql = "select * from user_info";
cmd.CommandText = strSql;
###(3)Parameters:参数列表,常用的两个方法:Add(Parameter value),AddRange(Parameter[] value)
代码:
string strSql = "select * from user_info where username=@username";
cmd.Parameters.Add(new SqlParameter("@username", username)); //添加一个参数
//添加参数列表
string strSql = "select * from user_info where username=@username and pwd=@pwd";
SqlParameter[] param=new {new SqlParameter("@username", username),new SqlParameter("@pwd", pwd)}
cmd.Parameters.AddRange(param);
还没有评论,来说两句吧...