SqlCommand.Parameters 属性  
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
public:
 property System::Data::SqlClient::SqlParameterCollection ^ Parameters { System::Data::SqlClient::SqlParameterCollection ^ get(); };public System.Data.SqlClient.SqlParameterCollection Parameters { get; }[System.Data.DataSysDescription("DbCommand_Parameters")]
public System.Data.SqlClient.SqlParameterCollection Parameters { get; }member this.Parameters : System.Data.SqlClient.SqlParameterCollection[<System.Data.DataSysDescription("DbCommand_Parameters")>]
member this.Parameters : System.Data.SqlClient.SqlParameterCollectionPublic ReadOnly Property Parameters As SqlParameterCollection属性值
Transact-SQL 语句或存储过程的参数。 默认值为空集合。
- 属性
示例
以下示例演示如何创建 SqlCommand 并将参数添加到 SqlParameterCollection。
private static void UpdateDemographics(Int32 customerID,
    string demoXml, string connectionString)
{
    // Update the demographics for a store, which is stored
    // in an xml column.
    string commandText = "UPDATE Sales.Store SET Demographics = @demographics "
        + "WHERE CustomerID = @ID;";
    using (SqlConnection connection = new SqlConnection(connectionString))
    {
        SqlCommand command = new SqlCommand(commandText, connection);
        command.Parameters.Add("@ID", SqlDbType.Int);
        command.Parameters["@ID"].Value = customerID;
        // Use AddWithValue to assign Demographics.
        // SQL Server will implicitly convert strings into XML.
        command.Parameters.AddWithValue("@demographics", demoXml);
        try
        {
            connection.Open();
            Int32 rowsAffected = command.ExecuteNonQuery();
            Console.WriteLine("RowsAffected: {0}", rowsAffected);
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
        }
    }
}
Private Sub UpdateDemographics(ByVal customerID As Integer, _
    ByVal demoXml As String, _
    ByVal connectionString As String)
    ' Update the demographics for a store, which is stored 
    ' in an xml column.
    Dim commandText As String = _
     "UPDATE Sales.Store SET Demographics = @demographics " _
     & "WHERE CustomerID = @ID;"
    Using connection As New SqlConnection(connectionString)
        Dim command As New SqlCommand(commandText, connection)
        ' Add CustomerID parameter for WHERE clause.
        command.Parameters.Add("@ID", SqlDbType.Int)
        command.Parameters("@ID").Value = customerID
        ' Use AddWithValue to assign Demographics.
        ' SQL Server will implicitly convert strings into XML.
        command.Parameters.AddWithValue("@demographics", demoXml)
        Try
            connection.Open()
            Dim rowsAffected As Integer = command.ExecuteNonQuery()
            Console.WriteLine("RowsAffected: {0}", rowsAffected)
        Catch ex As Exception
            Console.WriteLine(ex.Message)
        End Try
    End Using
End Sub
注解
Microsoft .NET Framework Data Provider for SQL Server 不支持使用问号 (?) 占位符将参数传递给 SQL 语句或由 命令调用的CommandType.Text存储过程。 在这种情况下,必须使用命名参数。 例如:
SELECT * FROM Customers WHERE CustomerID = @CustomerID
注意
如果集合中的参数与要执行的查询的要求不匹配,则可能会导致错误。
有关详细信息,请参阅 配置参数和参数数据类型。