使用 SqlCommand 执行SQL命令示例

void  Page_Load( object  sender, System.EventArgs e)
            
{
                
// 连接字符串
                string ConnStr = System.Configuration.ConfigurationSettings.AppSettings["ConnectionSqlServer"];

                
// 创建SqlConnection对象
                
// 创建Command对象
                SqlConnection thisConnection = new SqlConnection(ConnStr);
                SqlCommand thisCommand 
= new SqlCommand();

                
// 关联Connection对象
                
// 赋值SQL语句到CommandText属性
                
// 指定命令类型是Sql语句
                thisCommand.Connection = thisConnection;
                thisCommand.CommandText 
= "SELECT COUNT(*) FROM Employees";
                thisCommand.CommandType 
= CommandType.Text;

                
try
                
{
                    
// 打开数据库连接
                    thisCommand.Connection.Open();

                    
// 获取查询结果
                    myLabel.Text = thisCommand.ExecuteScalar().ToString();
                }

                
catch(SqlException ex)
                
{
                    
// 如果出现异常,在Label标签中显示异常信息
                    myLabel.Text = ex.ToString();
                }

                
finally
                
{
                    
// 关闭数据库连接
                    thisCommand.Connection.Close();
                }

            }

CommandType 枚举  [C#]

指定如何解释命令字符串。

[Serializable]

public enum CommandType

备注

CommandType 属性设置为 StoredProcedure 时,将 CommandText 属性设置为存储过程的名称。当您调用 Command 对象的某个 Execute 方法时,该命令执行此存储过程。

成员

成员名称 说明
StoredProcedure

受 .NET Framework 精简版的支持。

存储过程的名称。
TableDirect

受 .NET Framework 精简版的支持。

在将 CommandType 属性设置为 TableDirect 时,应将 CommandText 属性设置为要访问的一个或多个表的名称。如果已命名的任何表包含任何特殊字符,那么用户可能需要使用转义符语法或包括限定字符。当您调用“执行”(Execute) 方法之一时,将返回命名表的所有行和列。

为了访问多个表,请使用逗号分隔的列表(没有空格或空白),其中包含要访问的多个表的名称。当 CommandText 属性命名多个表时,返回指定表的联接。

注意   只有用于 OLE DB 的 .NET Framework 数据提供程序才支持 TableDirect
Text

受 .NET Framework 精简版的支持。

SQL 文本命令。(默认。)


IDbCommand.ExecuteScalar


异常
异常类型条件
SqlException在对锁定的行执行该命令期间发生了异常。如果使用 Microsoft .NET Framework 1.0 版,则不会发生该异常。

备注
使用 ExecuteScalar 方法从数据库中检索单个值(例如一个聚合值)。与使用 ExecuteReader 方法,然后使用 SqlDataReader 返回的数据执行生成单个值所需的操作相比,此操作需要的代码较少。
典型的 ExecuteScalar 查询可以采用类似于下面的 C# 示例的格式:
cmd.CommandText = "select count(*) from region";
Int32 count = (int32) cmd.ExecuteScalar();
示例
[Visual Basic, C#, C++] 以下示例创建一个 SqlCommand,然后使用 ExecuteScalar 执行它。为该示例传递两个字符串:一个是返回聚合结果的 Transact-SQL 语句,另一个用于连接到数据源。
[Visual Basic]

Public   Sub CreateMySqlCommand(myScalarQuery As String, myConnection As SqlConnection)
    
Dim myCommand As New SqlCommand(myScalarQuery, myConnection)
    myCommand.Connection.Open()
    myCommand.ExecuteScalar()
    myConnection.Close()
End Sub
  ' CreateMySqlCommand


[C#]

public   void  CreateMySqlCommand( string  myScalarQuery, SqlConnection myConnection) 
 
{
    SqlCommand myCommand 
= new SqlCommand(myScalarQuery, myConnection);
    myCommand.Connection.Open();
    myCommand.ExecuteScalar();
    myConnection.Close();
 }


你可能感兴趣的:(command)