SqlCommand.Parameters Eigenschaft

Definition

public:
 property System::Data::SqlClient::SqlParameterCollection ^ Parameters { System::Data::SqlClient::SqlParameterCollection ^ get(); };
[System.Data.DataSysDescription("DbCommand_Parameters")]
public System.Data.SqlClient.SqlParameterCollection Parameters { get; }
public System.Data.SqlClient.SqlParameterCollection Parameters { get; }
[<System.Data.DataSysDescription("DbCommand_Parameters")>]
member this.Parameters : System.Data.SqlClient.SqlParameterCollection
member this.Parameters : System.Data.SqlClient.SqlParameterCollection
Public ReadOnly Property Parameters As SqlParameterCollection

Eigenschaftswert

Die Parameter der Transact-SQL-Anweisung oder gespeicherten Prozedur. Der Standardwert ist eine leere Auflistung.

Attribute

Beispiele

Im folgenden Beispiel wird veranschaulicht, wie Sie einen SqlCommand Parameter erstellen und dem 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

Hinweise

Das Microsoft .NET Framework-Datenanbieter für SQL Server unterstützt nicht den Fragezeichenplatzhalter (?), um Parameter an eine SQL-Anweisung oder eine gespeicherte Prozedur zu übergeben, die von einem Befehl von CommandType.Text aufgerufen wird. In diesem Fall müssen benannte Parameter verwendet werden. Beispiel:

SELECT * FROM Customers WHERE CustomerID = @CustomerID

Note

Wenn die Parameter in der Auflistung nicht den Anforderungen der auszuführenden Abfrage entsprechen, kann ein Fehler auftreten.

Weitere Informationen finden Sie unter Konfigurieren von Parametern und Parameterdatentypen.

Gilt für:

Weitere Informationen