SqlCommand对象
2010-12-16 08:04:32 来源:WEB开发网这节课描述了SqlCommand对象以及如何使用它与数据库交互。下面是本课的目标:
知道什么是command对象
学习如何使用ExecuteReader方法查询数据
学习如何使用ExecuteNonQuery方法插入和删除对象
学习如何使用EXecuteScalar方法返回单一值
介绍
SqlCommand对象允许你指定在数据库上执行的操作的类型。比如,你能够对数据库中的行数据执行select,insert,modify以及delete命令。SqlCommand对象能被用来支持断开连接数据管理的情况,但是在这节课我们将只单独使用SqlCommand对象。后面关于SqlDataAdapter的课程将解释如何使用断开数据实现应用程序。这节课将同时展示如何从数据库中返回一个单独的值,比如表中记录的数量。
创建SqlCommand对象
SqlCommand cmd = new SqlCommand("select CategoryName from Categories", conn);
上面一行是典型的实例化SqlCommand对象的代码。它使用一个string参数来保存你想要执行的命令以及一个关于SqlConnection对象的引用。SqlCommand具有重载形式,这些形式你将在以后的示例中看到。
查询数据
当使用SQL的select命令,会得到一组数据集。为了和SqlCommand对象配合使用,你应该使用ExecuteReader方法,它返回一个SqlDataReader对象。我们将在后面的内容讨论SqlDataReader。下面的例子显示了如何使用SqlCommand对象来得到SqlDataReader对象:
// 1. Instantiate a new command with a query and connection
SqlCommand cmd = new SqlCommand("select CategoryName from Categories", conn);
// 2. Call Execute reader to get query results
SqlDataReader rdr = cmd.ExecuteReader();
在上面的示例中,我们通过传递命令字符串核连接对象到构造函数的方式实体化了SqlCommand对象。然后我们通过SqlCommand对象cmd调用ExecuteReader方法得到了SqlDataReader对象。
这些代码是表1中ReadData方法的一部分,我们将在后面集中介绍。
插入数据
要对数据库插入数据,使用SqlCommand对象的ExecuteNonQuery方法。下面的代码显示了如何向数据库表插入数据:
string insertString = @"insert into Categories(CategoryName, Description)values ('Miscellaneous', 'Whatever doesn''t fit elsewhere')";
SqlCommand cmd = new SqlCommand(insertString, conn);
cmd.ExecuteNonQuery();
SqlCommand的实例化过程与以前看到的有一些区别,但是基本一致。在构造函数的第一个字符串参数中是用的是插入字符串变量而不三字符串字面值。该变量在SqlCommand声明之前被声明了。
注意在insertString文本中“doesn’’t”的两个单引号(’’)。这是将它转义为适当的单引号。
另外一个需要注意的是我们显式指明了列:CategoryName和Description。列表中有一个主键名为CategoryID。我们忽略这列因为SQL Server将自动添加此字段。试图对主键比如CategoryID添加值会产生异常。
为了执行此命令,我们简单的对SqlCommand实体cmd调用ExecuteNonQuery方法。
这段代码是表1中InsertData方法的一部分,我们将在后面集中介绍。
更新数据
ExecuteNonQuery方法同样用来更新数据。下面的代码显示了如何更新数据:
Tags:SqlCommand 对象
编辑录入:爽爽 [复制链接] [打 印]赞助商链接