SqlCeCommand.CommandText 屬性
取得或設定要在資料來源執行的 SQL 陳述式。
命名空間: System.Data.SqlServerCe
組件: System.Data.SqlServerCe (在 System.Data.SqlServerCe.dll 中)
語法
'宣告
Public Overrides Property CommandText As String
Get
Set
'用途
Dim instance As SqlCeCommand
Dim value As String
value = instance.CommandText
instance.CommandText = value
public override string CommandText { get; set; }
public:
virtual property String^ CommandText {
String^ get () override;
void set (String^ value) override;
}
abstract CommandText : string with get, set
override CommandText : string with get, set
override function get CommandText () : String
override function set CommandText (value : String)
屬性值
型別:System.String
要執行的 SQL 陳述式或要開啟之基底資料表的名稱。預設值為空字串。
實作
備註
當 CommandType 屬性設定為 TableDirect 時,CommandText 屬性應該設定為要存取之資料表的名稱。TableDirect 存取是從 SQL Server Compact 中擷取資料的最快方式。如果任何具名的資料表包含任何特殊字元,則您可能需要使用逸出字元 (Escape Character) 語法。當您呼叫其中一個 Execute 方法時,將傳回具名資料表的所有資料列和資料行,或傳回資料表。
如果目前的連接正在執行「執行」或「擷取」作業,您就無法設定 Connection、CommandType 和 CommandText 屬性。
當 CommandType 設定為 Text 時,.NET Compact Framework Data Provider for SQL Server Compact 可支援用來將參數傳遞給 SqlCeCommand 呼叫之 SQL 陳述式的具名參數。例如:
SELECT * FROM Customers WHERE CustomerID = @customerID
Data Provider for SQL Server Compact 也不支援批次查詢。命令必須遵照以下型式:SELECT * FROM Customers 而不是 SELECT * FROM Customers; SELECT * FROM Orders.如果您使用的是針對 System.Data.SqlClient 所產生的程式碼,則可能必須修改查詢,以符合這個限制。
使用 RDA 已啟用的複寫時,指定 INSERT 查詢的資料行名稱。RDA 追蹤資料表包含系統產生的資料行,將會變更您所預期查詢之資料行的計數。如果您沒有指定資料行名稱而 INSERT 陳述式中的資料行數目與資料表中的資料行數目不同,INSERT 便會失敗。
範例
下列範例會建立 SqlCeCommand,並設定 CommandText 和其他屬性。
Dim cmd As SqlCeCommand = conn.CreateCommand()
cmd.CommandText = "SELECT * FROM Categories ORDER BY CategoryID"
cmd.CommandType = CommandType.Text
cmd.UpdatedRowSource = UpdateRowSource.Both
SqlCeCommand cmd = conn.CreateCommand();
cmd.CommandText = "SELECT * FROM Categories ORDER BY CategoryID";
cmd.CommandType = CommandType.Text;
cmd.UpdatedRowSource = UpdateRowSource.Both;