sqlcommand
用于C#编程时对资料库进行操作的类名。C# 中位于SqlClient中的一个类。表示要对SQLSERVER资料库进行操作。
SqlCommand对象允许你指定在资料库上执行的操作的类型。比如,你能够对资料库中的行数据执行select,insert,modify以及delete命令。SqlCommand对象能被用来支持下线数据管理的情况,可以只单独使用SqlCommand对象。也可以与SqlDataAdapter一起实现断开数据连线,实现运算元据库的应用程式。
基本介绍
- 中文名:sql命令
- 外文名:sqlcommand
- 命名空间: System.Data.SqlClient
- 程式集:System.Data
- 类型:对资料库进行操作的类名
介绍
表示要对 SQL Server 资料库执行的一个 Transact-SQL 语句或存储过程。无法继承此类。
命名空间: System.Data.SqlClient
程式集: System.Data(在 System.Data.dll 中)
C#:
public sealed class SqlCommand : DbCommand, ICloneable
当创建 SqlCommand 的实例时,读/写属性将被设定为它们的初始值。
您可以重置 CommandText 属性并重複使用 SqlCommand 对象。但是,在执行新的命令或先前命令之前,必须关闭 SqlDataReader。如果执行 SqlCommand 的方法生成 SqlException,那幺当严重级别小于等于 19 时,SqlConnection 将仍保持打开状态。当严重级别大于等于 20 时,伺服器通常会关闭 SqlConnection。但是,用户可以重新打开连线并继续。
实例
private static void ReadOrderData(string connectionString)
{ //要执行的Sql语句
string queryString ="SELECT OrderID, CustomerID FROM dbo.Orders;";
using (SqlConnection connection = new SqlConnection( connectionString))
{
SqlCommand command = new SqlCommand( queryString, connection); connection.Open();
SqlDataReader reader = command.ExecuteReader();
try
{
while (reader.Read())
{
Console.WriteLine(String.Format("{0}, {1}", reader[0], reader[1]));
}
}
finally
{
// Always call Close when done reading.
reader.Close();
}
}
}
string str = "server='(local)';database='mytable';uid='sa';pwd='sa'";
SqlConnection conn = new SqlConnection(str); //创建连线对象
conn.Open(); //打开连线
其中,str是数据连线字串,用来初始化Connection对象,说明如何连线资料库,当资料库连线完毕后,可以使用Open方法打开数据连线。完成资料库连线后,需创建一个新的Command对象,示例代码如下所示。
SqlCommand cmd = new SqlCommand("insert into mynews value ('插入一条新数据')", conn);
Command对象的构造函式的参数有两个,一个是需要执行的SQL语句,另一个是资料库连线对象。创建Command对象后,就可以执行SQL命令,执行后完成并关闭数据连线,示例代码如下所示。
cmd.ExecuteNonQuery(); //执行SQL命令
conn.Close(); //关闭连线
类的属性
1.CommandText
获取或设定要对数据源执行的Transact—SQL语句或存储过程。
2. CommandType
获取或设定一个值,该值指示如何解释CommandText属性。
3.Connection
获取或设定SqlCommand的实例使用的SqlConnection。
4.CommandTimeOut
获取或设定在终止执行命令的尝试并生成错误之前的等待时间。
等待命令执行的时时间(以秒为单位)。预设值为 30 秒。
类的方法
1.ExecuteNonQuery();
它的返回值类型为int型。多用于执行增加,删除,修改数据。返回受影响的行数。
2.ExecuteReader();
它的返回类型为SqlDataReader。此方法用于用户进行的查询操作。使用SqlDataReader对象的Read();方法进行逐行读取。
例如:
SqlCommand comm =new SqlCommand("select * from CGSZ where cid="+id,conn);
SqlDataReader reder=comm.ExecuteReader();
while(reder.Read())
{
//读出内容列
string str=reder["cname"].ToString();
//读取分类列
string str1=reder["ckind"].ToString();
//分别为文本框载入数据
this.txtContent.Text = str;
this.txtClass.Text = str1;
}
其中的读取数据列的时候。除了使用reder["列名"].ToString();还可以使用reder[索引].ToSting();<注意:这里的索引指的是资料库中列的索引。从0开始。
3.ExecuteScalar();
它的返回值类型多为int类型。它返回的多为执行select查询。得到的返回结果为一个值的情况,比如使用count函式求表中记录个数或者使用sum函式求和等。