OleDbCommand.Parameters 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
public:
property System::Data::OleDb::OleDbParameterCollection ^ Parameters { System::Data::OleDb::OleDbParameterCollection ^ get(); };
[System.Data.DataSysDescription("DbCommand_Parameters")]
public System.Data.OleDb.OleDbParameterCollection Parameters { get; }
public System.Data.OleDb.OleDbParameterCollection Parameters { get; }
[<System.Data.DataSysDescription("DbCommand_Parameters")>]
member this.Parameters : System.Data.OleDb.OleDbParameterCollection
member this.Parameters : System.Data.OleDb.OleDbParameterCollection
Public ReadOnly Property Parameters As OleDbParameterCollection
屬性值
SQL 語句或儲存程序的參數。 預設是空集合。
- 屬性
範例
以下範例會建立 並 OleDbCommand 顯示其參數。 為達成此目的,方法會被傳遞一個 OleDbConnection、一個查詢字串(一個 SQL SELECT 語句)以及一個物件陣列 OleDbParameter 。
public void CreateMyOleDbCommand(OleDbConnection connection,
string queryString, OleDbParameter[] parameters)
{
OleDbCommand command = new OleDbCommand(queryString, connection);
command.CommandText =
"SELECT CustomerID, CompanyName FROM Customers WHERE Country = ? AND City = ?";
command.Parameters.Add(parameters);
for (int j=0; j<parameters.Length; j++)
{
command.Parameters.Add(parameters[j]) ;
}
string message = "";
for (int i = 0; i < command.Parameters.Count; i++)
{
message += command.Parameters[i].ToString() + "\n";
}
Console.WriteLine(message);
}
Public Sub CreateMyOleDbCommand(connection As OleDbConnection, _
queryString As String, parameters() As OleDbParameter)
Dim command As New OleDbCommand(queryString, connection)
command.CommandText = _
"SELECT CustomerID, CompanyName FROM Customers WHERE Country = ? AND City = ?"
command.Parameters.Add(parameters)
Dim j As Integer
For j = 0 To command.Parameters.Count - 1
command.Parameters.Add(parameters(j))
Next j
Dim message As String = ""
Dim i As Integer
For i = 0 To command.Parameters.Count - 1
message += command.Parameters(i).ToString() + ControlChars.Cr
Next i
Console.WriteLine(message)
End Sub
備註
當 CommandType 設為 Text時,OLE DB .NET Provider 不支援將參數傳遞給 SQL 陳述式或由 OleDbCommand 呼叫的儲存程序的命名參數。 此時必須使用問號(?)佔位符。 例如:
SELECT * FROM Customers WHERE CustomerID = ?
因此,物件加入OleDbParameterCollection的順序OleDbParameter必須直接對應指令文本中參數問號佔位符的位置。
Note
若集合中的參數與要執行查詢的需求不符,可能會發生錯誤。
欲了解更多資訊,請參閱 「參數與參數資料型態的配置」。