SqlCeResultSet Class
命名空間: System.Data.SqlServerCe
組件: System.Data.SqlServerCe (在 system.data.sqlserverce.dll)
語法
'宣告
<DefaultMemberAttribute("Item")> _
Public Class SqlCeResultSet
Inherits SqlCeDataReader
Implements IEnumerable, IListSource
[DefaultMemberAttribute("Item")]
public class SqlCeResultSet : SqlCeDataReader, IEnumerable, IListSource
[DefaultMemberAttribute(L"Item")]
public ref class SqlCeResultSet : public SqlCeDataReader, IEnumerable, IListSource
/** @attribute DefaultMemberAttribute("Item") */
public class SqlCeResultSet extends SqlCeDataReader implements IEnumerable, IListSource
DefaultMemberAttribute("Item")
public class SqlCeResultSet extends SqlCeDataReader implements IEnumerable, IListSource
備註
在舊版的 SQL Server Compact 3.5 中,若要將控制項繫結至資料,您必須使用 DataSet。雖然 SqlCeDataReader 提供的效能比 DataSet 高,它仍是順向且不可更新的資料指標。在 SQL Server Compact 3.5 中,SqlCeResultSet 可提供多項功能:DataSet 的可更新性與可捲動性,加上類似於 SqlCeDataReader 的效能。
若要建立 SqlCeResultSet,則必須呼叫 ExecuteResultSet 方法,而不是使用該物件的建構函式。
ResultSetOptions 可讓您指定 SqlCeResultSet 的可捲動性、可更新性和敏感度 (此項目決定 SqlCeResultSet 是否可看到本身或其他人所做的變更)。
SqlCeDataReader 的預設位置是在第一個資料錄之前。若要開始存取任何資料,您必須呼叫 Read。第一個 Read 會將資料指標放置於第一個資料錄。其行為與 SqlCeResultSet.Read 方法的行為不同。SqlCeResultSet 的預設位置是第一個資料錄。在建立 SqlCeResultSet 之後立即呼叫 SqlCeResultSet.Read 方法會將資料指標移至第二個資料錄。
繼承階層
System.Object
System.MarshalByRefObject
System.Data.Common.DbDataReader
System.Data.SqlServerCe.SqlCeDataReader
System.Data.SqlServerCe.SqlCeResultSet
範例
在下列範例中會建立新的 SQL Server Compact 3.5 資料庫,然後再初始化 SqlCeResultSet,以使用資料填入資料集。
Dim conn As SqlCeConnection = Nothing
Try
File.Delete("Test.sdf")
Dim engine As New SqlCeEngine("Data Source = Test.sdf")
engine.CreateDatabase()
conn = New SqlCeConnection("Data Source = Test.sdf")
conn.Open()
Dim cmd As SqlCeCommand = conn.CreateCommand()
cmd.CommandText = "CREATE TABLE myTable (col1 INT, col2 MONEY, col3 NVARCHAR(200))"
cmd.ExecuteNonQuery()
cmd.CommandText = "SELECT * FROM myTable"
Dim rs As SqlCeResultSet = cmd.ExecuteResultSet(ResultSetOptions.Updatable Or ResultSetOptions.Scrollable)
Dim rec As SqlCeUpdatableRecord = rs.CreateRecord()
rec.SetInt32(0, 34)
rec.SetDecimal(1, System.Convert.ToDecimal(44.66))
rec.SetString(2, "Sample text")
rs.Insert(rec)
Catch e As Exception
MessageBox.Show(e.Message)
Finally
conn.Close()
End Try
SqlCeConnection conn = null;
try
{
File.Delete("Test.sdf");
SqlCeEngine engine = new SqlCeEngine("Data Source = Test.sdf");
engine.CreateDatabase();
conn = new SqlCeConnection("Data Source = Test.sdf");
conn.Open();
SqlCeCommand cmd = conn.CreateCommand();
cmd.CommandText = "CREATE TABLE myTable (col1 INT, col2 MONEY, col3 NVARCHAR(200))";
cmd.ExecuteNonQuery();
cmd.CommandText = "SELECT * FROM myTable";
SqlCeResultSet rs = cmd.ExecuteResultSet(ResultSetOptions.Updatable |
ResultSetOptions.Scrollable);
SqlCeUpdatableRecord rec = rs.CreateRecord();
rec.SetInt32(0, 34);
rec.SetDecimal(1, (decimal)44.66);
rec.SetString(2, "Sample text");
rs.Insert(rec);
}
catch (Exception e)
{
MessageBox.Show(e.Message);
}
finally
{
conn.Close();
}
執行緒安全性
任何公用靜態 (共用 在 Microsoft Visual Basic) 此型別的成員具備執行緒安全。不保證任何執行個體成員安全執行緒。
平台
開發平台
Windows Vista, Windows Mobile 5.0, Windows XP Professional with Service Pack 2 (SP2), Windows Server 2003, Windows Mobile 2003 for Pocket PC, Windows CE 5.0
版本資訊
.NET Framework 及 NET Compact Framework
支援於 3.5
.NET Framework
支援於 3.0
.NET Compact Framework 及 .Net Framework
支援於 2.0