SqlCeCommand 類別
表示要針對資料來源執行的 SQL 陳述式。
繼承階層
System.Object
System.MarshalByRefObject
System.ComponentModel.Component
System.Data.Common.DbCommand
System.Data.SqlServerCe.SqlCeCommand
命名空間: System.Data.SqlServerCe
組件: System.Data.SqlServerCe (在 System.Data.SqlServerCe.dll 中)
語法
'宣告
Public NotInheritable Class SqlCeCommand _
Inherits DbCommand _
Implements ICloneable
'用途
Dim instance As SqlCeCommand
public sealed class SqlCeCommand : DbCommand,
ICloneable
public ref class SqlCeCommand sealed : public DbCommand,
ICloneable
[<SealedAttribute>]
type SqlCeCommand =
class
inherit DbCommand
interface ICloneable
end
public final class SqlCeCommand extends DbCommand implements ICloneable
SqlCeCommand 型別公開下列成員。
建構函式
名稱 | 說明 | |
---|---|---|
SqlCeCommand() | 初始化 SqlCeCommand 類別的新執行個體。 | |
SqlCeCommand(String) | 使用查詢的文字初始化 SqlCeCommand 類別的新執行個體。 | |
SqlCeCommand(String, SqlCeConnection) | 使用查詢的文字和 SqlCeConnection 初始化 SqlCeCommand 類別的新執行個體。 | |
SqlCeCommand(String, SqlCeConnection, SqlCeTransaction) | 使用查詢的文字、SqlCeConnection 和 SqlCeTransaction 初始化 SqlCeCommand 類別的新執行個體。 |
上層
屬性
名稱 | 說明 | |
---|---|---|
CanRaiseEvents | (繼承自 Component) | |
CommandText | 取得或設定要在資料來源執行的 SQL 陳述式。 (覆寫 DbCommand.CommandText。) | |
CommandTimeout | 取得或設定結束嘗試執行命令並產生錯誤之前的等候時間。 (覆寫 DbCommand.CommandTimeout。) | |
CommandType | 取得或設定代表如何解譯 CommandText 屬性的值。 (覆寫 DbCommand.CommandType。) | |
Connection | 取得或設定由 SqlCeCommand 的這個執行個體所使用的 SqlCeConnection。 | |
Container | (繼承自 Component) | |
DbConnection | (繼承自 DbCommand) | |
DbParameterCollection | (繼承自 DbCommand) | |
DbTransaction | (繼承自 DbCommand) | |
DesignMode | (繼承自 Component) | |
DesignTimeVisible | Get 會永遠傳回 false,Set 則永遠擲回 NotSupportedException。 (覆寫 DbCommand.DesignTimeVisible。) | |
Events | (繼承自 Component) | |
IndexName | 指定要開啟的索引。 | |
Parameters | 取得 SqlCeParameterCollection。 | |
Site | (繼承自 Component) | |
Transaction | 取得或設定在其中執行 SqlCeCommand 的交易。 | |
UpdatedRowSource | 取得或設定當命令結果是由 DbDataAdapter 的 Update 方法使用時,如何套用到 DataRow。這個屬性不能與 .NET Compact Framework Data Provider for SQL Server Compact 搭配使用。 (覆寫 DbCommand.UpdatedRowSource。) |
上層
方法
上層
事件
名稱 | 說明 | |
---|---|---|
Disposed | (繼承自 Component) |
上層
明確 繼承 實作
名稱 | 說明 | |
---|---|---|
ICloneable.Clone | ||
IDbCommand.Connection | (繼承自 DbCommand) | |
IDbCommand.CreateParameter | (繼承自 DbCommand) | |
IDbCommand.ExecuteReader() | (繼承自 DbCommand) | |
IDbCommand.ExecuteReader(CommandBehavior) | (繼承自 DbCommand) | |
IDbCommand.Parameters | (繼承自 DbCommand) | |
IDbCommand.Transaction | (繼承自 DbCommand) |
上層
備註
當您建立 SqlCeCommand 時,讀取/寫入屬性會設定為初始值。如需這些值的清單,請參閱 SqlCeCommand 建構函式。
SqlCeCommand 提供下列在資料來源執行命令的方法:
Item |
說明 |
---|---|
執行傳回資料列的命令。 |
|
執行 INSERT、DELETE 和 UPDATE 陳述式之類的 SQL 命令。 |
|
從資料庫中擷取單一值 (如彙總值)。 |
|
執行命令並傳回結果集 (Result Set)。 |
Data Provider for SQL Server Compact 不支援批次處理的查詢。命令的形式必須如下:
Select * from Customers 而不是Select * from Customers; Select * from Orders;
如果您使用的是針對 System.Data.SqlClient 所產生的程式碼,則可能必須改變查詢,以符合這個限制。
SQL Server Compact 可同時支援多個連接,並支援共用相同連接的多個命令。這表示在同一個連接上可以有 SqlCeDataReader 的多個執行個體。這項行為與 System.Data.SqlClient 的不同。
如果嚴重的 SqlCeException 是由執行 SqlCeCommand 的方法所產生,則 SqlCeConnection 可能已關閉。您可以重新開啟連接並繼續。
範例
下列範例會使用 SqlCeCommand 和 SqlCeConnection,從資料庫選取資料列。
Dim query As String = "SELECT [Order ID], [Customer] FROM Orders"
Dim conn As New SqlCeConnection(connString)
Dim cmd As New SqlCeCommand(query, conn)
conn.Open()
Dim rdr As SqlCeDataReader = cmd.ExecuteReader()
Try
' Iterate through the results
'
While rdr.Read()
Dim val1 As Integer = rdr.GetInt32(0)
Dim val2 As String = rdr.GetString(1)
End While
Finally
' Always call Close when done reading
'
rdr.Close()
' Always call Close when done reading
'
conn.Close()
End Try
string query = "SELECT [Order ID], [Customer] FROM Orders";
SqlCeConnection conn = new SqlCeConnection(connString);
SqlCeCommand cmd = new SqlCeCommand(query, conn);
conn.Open();
SqlCeDataReader rdr = cmd.ExecuteReader();
try
{
// Iterate through the results
//
while (rdr.Read())
{
int val1 = rdr.GetInt32(0);
string val2 = rdr.GetString(1);
}
}
finally
{
// Always call Close when done reading
//
rdr.Close();
// Always call Close when done reading
//
conn.Close();
}
執行緒安全性
這個類型的任何公用靜態 (在 Microsoft Visual Basic 中為 Shared) 成員都是執行緒安全的。並不是所有的執行個體成員都保證可以用於所有的執行緒。