SqlCeCommand 构造函数 (String, SqlCeConnection, SqlCeTransaction)
使用查询文本、一个 SqlCeConnection 以及 SqlCeTransaction 来初始化 SqlCeCommand 类的一个新实例。
命名空间: System.Data.SqlServerCe
程序集: System.Data.SqlServerCe(在 System.Data.SqlServerCe.dll 中)
语法
声明
Public Sub New ( _
commandText As String, _
connection As SqlCeConnection, _
transaction As SqlCeTransaction _
)
用法
Dim commandText As String
Dim connection As SqlCeConnection
Dim transaction As SqlCeTransaction
Dim instance As New SqlCeCommand(commandText, _
connection, transaction)
public SqlCeCommand(
string commandText,
SqlCeConnection connection,
SqlCeTransaction transaction
)
public:
SqlCeCommand(
String^ commandText,
SqlCeConnection^ connection,
SqlCeTransaction^ transaction
)
new :
commandText:string *
connection:SqlCeConnection *
transaction:SqlCeTransaction -> SqlCeCommand
public function SqlCeCommand(
commandText : String,
connection : SqlCeConnection,
transaction : SqlCeTransaction
)
参数
- commandText
类型:System.String
查询的文本。
- connection
类型:System.Data.SqlServerCe.SqlCeConnection
表示与数据源的连接的一个 SqlCeConnection。
- transaction
类型:System.Data.SqlServerCe.SqlCeTransaction
在其中执行 SqlCeCommand 的事务。
注释
下表显示 SqlCeCommand 实例的初始属性值。
属性 |
初始值 |
---|---|
cmdText |
|
Text |
|
一个新的 SqlCeConnection,它是 connection 参数的值。 |
您可以通过设置相关属性来更改这些参数中的任何一个参数的值。
示例
下面的示例创建一个 SqlCeCommand 并设置它的一些属性。
Dim cmdText As String = "INSERT INTO FactSalesQuota " & _
"(EmployeeKey, TimeKey, SalesAmountQuota) " & _
"VALUES (2, 1158, 150000.00)"
Dim conn As New SqlCeConnection("Data Source = AdventureWorks.sdf;")
conn.Open()
' Start a local transaction; SQL Mobile supports the following
' isolation levels: ReadCommitted, RepeatableRead, Serializable
'
Dim tx As SqlCeTransaction = conn.BeginTransaction(IsolationLevel.ReadCommitted)
' By default, commands run in auto-commit mode;
'
Dim cmd As New SqlCeCommand(cmdText, conn, tx)
Try
cmd.ExecuteNonQuery()
' Commit the changes to disk if everything above succeeded;
' Use Deferred mode for optimal performance; the changes will
' be flashed to disk within the timespan specified in the
' ConnectionString 'FLUSH INTERVAL' property;
'
tx.Commit(CommitMode.Deferred)
' Alternatively, you could use:
' tx.Commit(CommitMode.Immediate);
'
' or use default (Deferred) commit mode:
' tx.Commit()
Catch e As Exception
' Handle errors here
'
tx.Rollback()
Finally
conn.Close()
End Try
string cmdText = "INSERT INTO FactSalesQuota " +
"(EmployeeKey, TimeKey, SalesAmountQuota) " +
"VALUES (2, 1158, 150000.00)";
SqlCeConnection conn = new SqlCeConnection("Data Source = AdventureWorks.sdf;");
conn.Open();
// Start a local transaction; SQL Mobile supports the following
// isolation levels: ReadCommitted, RepeatableRead, Serializable
//
SqlCeTransaction tx = conn.BeginTransaction(IsolationLevel.ReadCommitted);
SqlCeCommand cmd = new SqlCeCommand(cmdText, conn, tx);
try
{
cmd.ExecuteNonQuery();
// Commit the changes to disk if everything above succeeded;
// Use Deferred mode for optimal performance; the changes will
// be flushed to disk within the timespan specified in the
// ConnectionString 'FLUSH INTERVAL' property;
//
tx.Commit(CommitMode.Deferred);
// Alternatively, you could use:
// tx.Commit(CommitMode.Immediate);
//
// or use default (Deferred) commit mode:
// tx.Commit()
}
catch (Exception)
{
// Handle errors here
//
tx.Rollback();
}
finally
{
conn.Close();
}