//执行SQL语句
cmm.ExecuteNonQuery();
}
注:
SqlCommand类的ExecuteNonQuery()方法的返回值是当前执行的SQL语句影响的行数
四、执行select语句
首先,申明SqlCommand对象
其次,用SqlConnection的CreateCommand()函数,创建一个SqlCommand对象,然后将所要执行的SQL语句赋值给SqlCommand的CommandText属性;
第三,调用SqlCommand类的ExecuteReader ()方法,执行CommandText的SQL语句。
第四,申明SqlDataReader对象,并用其承接ExecuteReader ()方法所返回的数据流;
第五,用SqlDataReader类的Read()方法逐行读取数据流中的逐句,取出其中所需要字段的数据进行处理
代码语句:
using(SqlCommand cmd = con.CreateComand())
{
Cmd.CommandText = "SELECT语句";
using(SqlDataReader reader = cmd.ExecuteReader())
{
While(reader.Read())
{
String name = reader.GetString(reader.GetOrdinal("name"));
//数据处理语句块;
}
}
}
或者:
using(SqlCommand cmd = con.CreateComand())
{
using(SqlDataReader reader = cmd.ExecuteReader())
{
While(reader.Read())
{
String name = reader.["name"].ToString();
//数据处理语句块;
}
}
}
注:
1、User是SQL SERVER的关键字,在表名中应尽量避免,如果必须是User表,可以用SELECT * FROM [User]这样的语句来查询该表的内容
2、SqlCommand 类的ExecuteScalar()方法返回的是查询结果的第一行第一列的数据
3、在插入数据的同时想要获得当前插入数据的id(主键)号,可以通过output语法和ExecuteScalar方法实现,这是在SQLSERVER 2005以后的版本中都有的,具体语法如下:
cmd.CommandText = "INSERT INTO T_Users(UserName,PassWord) OUTPUT inserted.Id Values("admin", "123456")";
int id = Convert.ToInt32(cmd.ExecuteScalar());
五、using和close
using对实现了IDisposable接口的类进行了资源管理,只要在其作用域内using就会自动进行资源管理,当程序执行出了其作用范围,程序会自动close和dispose资源,保证资源的及时释放和回收。而Close只是关闭了当前的连接或者资源,只要其后没有dispose,还可以继续open连接,即close并未释放资源,只做了关闭处理,当close和dispose连用时,和using作用相同,但考虑到异常处理等情况,所以最好使用using,少用close和dispose.
六、通过数据集操作数据
数据集是最常用的访问数据的方式,其主要流程是连接数据库、进行数据查询、将查询结果填充到数据集、对数据集中的数据进行展示和操作、将操作后的数据集提交数据库,通过这一系列操作实现对数据库的修改,此过程主要通过DataSet、DataAdapter、DataTable、DataRow、DataColumn、SqlCommandBuilder等类实现。
根据上面所说到过程,逐步分析:
1、数据查询,这里的数据查询不再是通过Command对象实现,而是通过DataAdapter类的实例来实现,具体代码如下:
SqlDataAdapter sqldadp = new SqlDataAdapter("SELECT name, company, position, shijian FROM [UserDate].[dbo].[b1] WHERE shijian > '2010-01-21'", con)
上面的代码里面的con是SqlConnection对象的实例,即数据库链接
2、将数据填充到数据集,数据集也就是DataSet对象的实例了,代码如下:
DataSet order_daset = new DataSet();//创建DataSet对象实例
sqldadp.Fill(order_daset);//填充DataSet对象
注意填充语句中的参数以及方法,是用SqlDataAdapter对象的实例来填充DataSet对象的实例
本文介绍了如何使用SqlCommand类执行SQL语句,包括增删改操作、查询数据、获取受影响行数及查询结果等内容。此外还讲解了如何利用数据集进行数据操作。
820

被折叠的 条评论
为什么被折叠?



