SqlCeResultSet 類別
繼承階層
System.Object
System.MarshalByRefObject
System.Data.Common.DbDataReader
System.Data.SqlServerCe.SqlCeDataReader
System.Data.SqlServerCe.SqlCeResultSet
命名空間: System.Data.SqlServerCe
組件: System.Data.SqlServerCe (在 System.Data.SqlServerCe.dll 中)
語法
'宣告
Public Class SqlCeResultSet _
Inherits SqlCeDataReader _
Implements IEnumerable, IListSource
'用途
Dim instance As SqlCeResultSet
public class SqlCeResultSet : SqlCeDataReader,
IEnumerable, IListSource
public ref class SqlCeResultSet : public SqlCeDataReader,
IEnumerable, IListSource
type SqlCeResultSet =
class
inherit SqlCeDataReader
interface IEnumerable
interface IListSource
end
public class SqlCeResultSet extends SqlCeDataReader implements IEnumerable, IListSource
SqlCeResultSet 型別公開下列成員。
建構函式
名稱 | 說明 | |
---|---|---|
SqlCeResultSet | 安全性關鍵。不要使用。若要建立 SqlCeResultSet,則必須呼叫 SqlCeCommand 的 ExecuteResultSet(ResultSetOptions) 方法。 |
上層
屬性
名稱 | 說明 | |
---|---|---|
ContainsListCollection | 基礎結構。 | |
Depth | 取得值,表示目前資料列的巢狀深度。 (繼承自 SqlCeDataReader) | |
FieldCount | 取得查詢之 SELECT 子句中的資料行數目。 (繼承自 SqlCeDataReader) | |
HasRows | 取得值,這個值表示 SqlCeDataReader 是否包含一個或多個資料列。 (繼承自 SqlCeDataReader) | |
HiddenFieldCount | 基礎結構。 (繼承自 SqlCeDataReader) | |
IsClosed | 指示是否關閉資料讀取器。 (繼承自 SqlCeDataReader) | |
Item[Int32] | 可用來當做 SqlCeResultSet 的索引子。 (覆寫 SqlCeDataReader.Item[Int32]。) | |
Item[String] | 可用來當做 SqlCeResultSet 的索引子。 (覆寫 SqlCeDataReader.Item[String]。) | |
RecordsAffected | 取得 SQL 陳述式的執行所變更、插入或刪除的資料列數目。 (繼承自 SqlCeDataReader) | |
ResultSetView | 用於將 SqlCeResultSet 資料繫結到控制項時。 | |
Scrollable | 決定 SqlCeResultSet 是否可捲動。 | |
Sensitivity | 決定 SqlCeResultSet 的敏感度。 | |
Updatable | 決定 SqlCeResultSet 內的值是否可修改。 | |
VisibleFieldCount | (繼承自 DbDataReader) |
上層
方法
上層
明確 繼承 實作
名稱 | 說明 | |
---|---|---|
IListSource.ContainsListCollection | ||
IEnumerable.GetEnumerator | ||
IListSource.GetList | ||
IDataRecord.GetData | (繼承自 DbDataReader) |
上層
備註
在舊版的 SQL Server Compact 中,若要將控制項繫結至資料,您必須使用 DataSet。雖然 SqlCeDataReader 提供的效能比 DataSet 高,它仍是順向且不可更新的資料指標。在 SQL Server Compact 中,SqlCeResultSet 可提供多項功能:DataSet 的可更新性與可捲動性,加上類似於 SqlCeDataReader 的效能。
若要建立 SqlCeResultSet,則必須呼叫 ExecuteResultSet 方法,而不是使用該物件的建構函式。
ResultSetOptions 可讓您指定 SqlCeResultSet 的可捲動性、可更新性和敏感度 (此項目決定 SqlCeResultSet 是否可看到本身或其他人所做的變更)。
SqlCeDataReader 的預設位置是在第一個資料錄之前。若要開始存取任何資料,您必須呼叫 Read。第一個 Read 會將資料指標放置於第一個資料錄。其行為與 SqlCeResultSet.Read 方法的行為不同。SqlCeResultSet 的預設位置是第一個資料錄。在建立 SqlCeResultSet 之後立即呼叫 SqlCeResultSet.Read 方法會將資料指標移至第二個資料錄。
範例
在下列範例中會建立新的 SQL Server Compact 資料庫,然後再初始化 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 中為 Shared) 成員都是執行緒安全的。並不是所有的執行個體成員都保證可以用於所有的執行緒。