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
实例并执行一条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(); } } } }
执行上面示例代码,得到以下结果 -
| | | |
| |
| |
| | `` | |