我们已经知道了怎么样连接数据库了,那么打开数据库后,怎么样操作数据库呢?这就需要使用到Command对象,Command对象可以对数据库执行增删改查的命令。
同Connection对象一样,Command对象属于.NET Framework数据提供程序,不同的数据提供程序有自己的Command对象。在这里我们还是讨论基于SQL SERVER 的Command 对象。
Command对象的主要属性和方法
属性
Connection Command对象使用的数据库连接
CommandText 执行的SQL语句
方法
ExecuteNonQuery() 执行不返回行的语句,如UPDATE语句
ExecuteReader() 执行查询命令,返回DataReader对象
ExecuteScalar() 返回单个值,例如执行Count(*)
在这里,我们着重看一下Command对象的ExecuteScalar()方法。这个方法只返回查询结果中的第一行第一列的值,所以当我们的查询结果只有一个值时,通常使用这个方法,比如使用聚合函数时。方法的返回值要进行显式类型转换。因为该方法的返回值是Object类型的。
要使用Command对象,必须有一个可用的Connection对象,使用Command对象的步骤包括:
1.创建数据库连接
创建一个Connection对象。
2.定义执行的SQL语句。
一般情况下,我们会将要执行的SQL语句赋值给一个字符串。
3.创建Command对象
使用已有的Connection对象和SQL语句字符串创建一个Command对象。
4.执行SQL语句
使用Command对象的某个方法执行命令。
示例:
- //自动生成的引用命名空间省略
- using System.Data.SqlClient;
- namespace OpenCloseDB
- {
- class Demo
- {
- static void Main()
- {
- string connString = "Data Source =.;Initial Catalog = MySchool;User ID = sa;Pwd = 123456";
- SqlConnection connection = new SqlConnection(connString);
- string sql = string.Format("Select count(*) from Student");
- SqlCommand objCommand = new SqlCommand(sql,connection);
- connection.Open();
- int number = (int)objCommand.ExecuteScalar();
- connection.Close();
- Console.WriteLine("共有{0}条记录",number);
- }
- }
- }
注意:在利用Command对象执行命令之前一定要打开数据库。