ADO.Net SqlCommand类

ADO.Net SqlCommand类

ADO.Net的SqlCommand类用于存储和执行SQL Server数据库的SQL语句。这是一个封闭的类,所以不能被继承。

SqlCommand类的签名

public sealed class SqlCommand : System.Data.Common.DbCommand, ICloneable, IDisposable

构造函数

这个类提供了下面的构造函数。

编号 构造函数 描述
1 SqlCommand() 它用于初始化SqlCommand类的新实例。
2 SqlCommand(String) 它用于使用字符串参数初始化SqlCommand类的新实例。
3 SqlCommand(String, SqlConnection, SqlTransaction) 它用于初始化SqlCommand类的新实例。它分别使用三个参数查询,连接和事务字符串。
4 SqlCommand(String, SqlConnection, SqlTransaction, SqlCommandColumnEncryptionSetting) 它使用指定的命令文本,连接,事务和加密设置来初始化SqlCommand类的新实例。

构造方法

这个类提供了下面的方法。

编号 方法 描述
1 BeginExecuteNonQuery() 它用于启动由此SqlCommand描述的SQL语句的异步执行。
2 Cancel() 它试图取消一个SqlCommand的执行。
3 Clone() 它创建一个新的SqlCommand对象,它是当前实例的一个副本。
4 CreateParameter() 它创建一个SqlParameter对象的新实例。
5 ExecuteReader() 它用于将CommandText发送给Connection并构建一个SqlDataReader
6 ExecuteXmlReader() 它用于将CommandText发送给Connection并构建一个XmlReader对象。
7 ExecuteScalar() 它执行查询并返回结果集中第一行的第一列,其他列或行将被忽略。
8 Prepare() 它用于通过使用SQL Server的实例来创建准备好的命令版本。
9 ResetCommandTimeout() 它用于将CommandTimeout属性重置为默认值。

SqlCommand类的使用示例

在这个例子中,创建一个SqlCommand实例并执行一条SQL语句。首先创建一个名称为:AdoNetSqlCommand 的C#控制台应用项目,如下所示 -

参考以下实现代码(Program.cs) -

using System;
using System.Data.SqlClient;

namespace AdoNetSqlCommand
{
    class Program
    {
        static void Main(string[] args)
        {
            new Program().CreateTable();
        }
        public void CreateTable()
        {
            SqlConnection con = null;
            try
            {
                // Creating Connection  
                con = new SqlConnection("data source=.; database=student; integrated security=SSPI");
                // writing sql query  
                SqlCommand cm = new SqlCommand("select * from student_info", con);
                // Opening Connection  
                con.Open();
                Console.WriteLine("当前 student_info 表中的记录信息如下 - ");
                // Executing the SQL query  
                SqlDataReader sdr = cm.ExecuteReader();
                while (sdr.Read())
                {
                    Console.WriteLine("学生编号:"+ sdr["id"] + ",姓名: "+sdr["name"] + ",电子邮箱: " + sdr["email"]);
                }
            }
            catch (Exception e)
            {
                Console.WriteLine("OOPs, something went wrong." + e);
            }
            // Closing the connection  
            finally
            {
                con.Close();
            }
        }
    }
}

执行上面示例代码,得到以下结果 -

| | | | | | | |
| | `` | |