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) メソッドを呼び出す必要があります。 |
Top
プロパティ
名前 | 説明 | |
---|---|---|
ContainsListCollection | インフラストラクチャです。 | |
Depth | 現在の行の入れ子の深さを示す値を取得します。 (SqlCeDataReader から継承されます。) | |
FieldCount | クエリの SELECT 句内の列数を取得します。 (SqlCeDataReader から継承されます。) | |
HasRows | SqlCeDataReader に 1 行以上の行が格納されているかどうかを示す値を取得します。 (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 から継承されます。) |
Top
メソッド
名前 | 説明 | |
---|---|---|
Close | SqlCeDataReader オブジェクトを閉じます。 (SqlCeDataReader から継承されます。) | |
CreateObjRef | (MarshalByRefObject から継承されます。) | |
CreateRecord | サーバーに新しい行を作成し、SqlCeUpdatableRecord オブジェクトを返します。 | |
Delete | サーバーのデータ ソースから現在のレコードを削除します。 | |
Dispose() | インフラストラクチャです。この SqlCeDataReader によって消費されているリソースを解放します。 (SqlCeDataReader から継承されます。) | |
Dispose(Boolean) | この SqlCeDataReader で使用されているアンマネージ リソースを解放し、必要に応じてマネージ リソースも解放します。 (SqlCeDataReader から継承されます。) | |
Equals | (Object から継承されます。) | |
Finalize | SqlCeDataReader がガベージ コレクションによってクリアされる前に、アンマネージ リソースを解放し、その他のクリーンアップ操作を実行します。 (SqlCeDataReader から継承されます。) | |
GetBoolean | 指定したインデックス位置にある列の値をブール値として返します。 (SqlCeDataReader.GetBoolean(Int32) をオーバーライドします。) | |
GetByte | 指定したインデックス位置にある列の値をバイト値として返します。 (SqlCeDataReader.GetByte(Int32) をオーバーライドします。) | |
GetBytes | 指定したフィールドの指定した位置を開始位置として、連続するバイトをバッファーにコピーします。 (SqlCeDataReader.GetBytes(Int32, Int64, array<Byte[], Int32, Int32) をオーバーライドします。) | |
GetChar | .NET Compact Framework Data Provider for SQL Server Compact ではサポートされていません。 (SqlCeDataReader から継承されます。) | |
GetChars | 指定したフィールドの指定した位置を開始位置として、連続する文字をバッファーにコピーします。 (SqlCeDataReader.GetChars(Int32, Int64, array<Char[], Int32, Int32) をオーバーライドします。) | |
GetData | (DbDataReader から継承されます。) | |
GetDataTypeName | ソース データ型名を取得します。 (SqlCeDataReader から継承されます。) | |
GetDateTime | 指定したインデックス位置にある列の値を DateTime として返します。 (SqlCeDataReader.GetDateTime(Int32) をオーバーライドします。) | |
GetDbDataReader | (DbDataReader から継承されます。) | |
GetDecimal | 指定したインデックス位置にある列の値を Double として返します。 (SqlCeDataReader.GetDecimal(Int32) をオーバーライドします。) | |
GetDouble | 指定したインデックス位置にある列の値を Double として返します。 (SqlCeDataReader.GetDouble(Int32) をオーバーライドします。) | |
GetEnumerator | データ リーダー内の行を反復処理するために使用できる IEnumerator を返します。 (SqlCeDataReader.GetEnumerator() をオーバーライドします。) | |
GetFieldType | オブジェクトのデータ型である Type を取得します。 (SqlCeDataReader から継承されます。) | |
GetFloat | 指定したインデックス位置にある列の値を Float として返します。 (SqlCeDataReader.GetFloat(Int32) をオーバーライドします。) | |
GetGuid | 指定したインデックス位置にある列の値を GUID として返します。 (SqlCeDataReader.GetGuid(Int32) をオーバーライドします。) | |
GetHashCode | (Object から継承されます。) | |
GetInt16 | 指定したインデックス位置にある列の値を Int16 として返します。 (SqlCeDataReader.GetInt16(Int32) をオーバーライドします。) | |
GetInt32 | 指定したインデックス位置にある列の値を Int32 として返します。 (SqlCeDataReader.GetInt32(Int32) をオーバーライドします。) | |
GetInt64 | 指定したインデックス位置にある列の値を Int64 として返します。 (SqlCeDataReader.GetInt64(Int32) をオーバーライドします。) | |
GetLifetimeService | (MarshalByRefObject から継承されます。) | |
GetList | ResultSetView のインスタンスを返します。 | |
GetName | 指定した列の名前を取得します。 (SqlCeDataReader から継承されます。) | |
GetOrdinal | 列名を指定して、列の序数を取得します。 (SqlCeDataReader から継承されます。) | |
GetProviderSpecificFieldType | 基になるプロバイダー固有フィールド型の内部表現である Object を取得します。 (SqlCeDataReader から継承されます。) | |
GetProviderSpecificValue | (DbDataReader から継承されます。) | |
GetProviderSpecificValues | (DbDataReader から継承されます。) | |
GetSchemaTable | SqlCeDataReader の列メタデータを記述する DataTable を返します。 (SqlCeDataReader から継承されます。) | |
GetSqlBinary | 指定したインデックス位置にある列の値を SqlBinary 型として返します。 (SqlCeDataReader.GetSqlBinary(Int32) をオーバーライドします。) | |
GetSqlBoolean | 指定したインデックス位置にある列の値を SqlBoolean 型として返します。 (SqlCeDataReader.GetSqlBoolean(Int32) をオーバーライドします。) | |
GetSqlByte | 指定したインデックス位置にある列の値を SqlByte 型として返します。 (SqlCeDataReader.GetSqlByte(Int32) をオーバーライドします。) | |
GetSqlDateTime | 指定したインデックス位置にある列の値を SqlDateTime 型として返します。 (SqlCeDataReader.GetSqlDateTime(Int32) をオーバーライドします。) | |
GetSqlDecimal | 指定したインデックス位置にある列の値を SqlDecimal 型として返します。 (SqlCeDataReader.GetSqlDecimal(Int32) をオーバーライドします。) | |
GetSqlDouble | 指定したインデックス位置にある列の値を SqlDouble 型として返します。 (SqlCeDataReader.GetSqlDouble(Int32) をオーバーライドします。) | |
GetSqlGuid | 指定したインデックス位置にある列の値を SqlGuid 型として返します。 (SqlCeDataReader.GetSqlGuid(Int32) をオーバーライドします。) | |
GetSqlInt16 | 指定したインデックス位置にある列の値を SqlInt16 型として返します。 (SqlCeDataReader.GetSqlInt16(Int32) をオーバーライドします。) | |
GetSqlInt32 | 指定したインデックス位置にある列の値を SqlInt32 型として返します。 (SqlCeDataReader.GetSqlInt32(Int32) をオーバーライドします。) | |
GetSqlInt64 | 指定したインデックス位置にある列の値を SqlInt64 型として返します。 (SqlCeDataReader.GetSqlInt64(Int32) をオーバーライドします。) | |
GetSqlMetaData | 指定した列に関連付けられたメタデータ情報を返します。 | |
GetSqlMoney | 指定したインデックス位置にある列の値を SqlMoney 型として返します。 (SqlCeDataReader.GetSqlMoney(Int32) をオーバーライドします。) | |
GetSqlSingle | 指定したインデックス位置にある列の値を SqlSingle 型として返します。 (SqlCeDataReader.GetSqlSingle(Int32) をオーバーライドします。) | |
GetSqlString | 指定したインデックス位置にある列の値を SqlString 型として返します。 (SqlCeDataReader.GetSqlString(Int32) をオーバーライドします。) | |
GetString | 指定したインデックス位置にある列の値を String 型として返します。 (SqlCeDataReader.GetString(Int32) をオーバーライドします。) | |
GetType | (Object から継承されます。) | |
GetValue | 指定したフィールドの値を返します。 (SqlCeDataReader.GetValue(Int32) をオーバーライドします。) | |
GetValues | 指定したレコードのすべてのフィールドの配列を取得します。 (SqlCeDataReader.GetValues(array<Object[]) をオーバーライドします。) | |
InitializeLifetimeService | (MarshalByRefObject から継承されます。) | |
Insert(SqlCeUpdatableRecord) | 指定した SqlCeUpdatableRecord を基になる行セットに挿入します。 | |
Insert(SqlCeUpdatableRecord, DbInsertOptions) | 指定した SqlCeUpdatableRecord を基になる行セットに挿入し、カーソルの配置方法を指定します。 | |
IsCommandBehavior | 指定した CommandBehavior がこの SqlCeDataReader のものと一致するかどうかを判断します。 (SqlCeDataReader から継承されます。) | |
IsDBNull | 指定した序数位置にあるフィールドが null かどうかを判断します。 (SqlCeDataReader.IsDBNull(Int32) をオーバーライドします。) | |
IsSetAsDefault | 指定された序数位置にあるフィールドが基になる既定値を使用するように設定されているかどうかを確認します。 | |
MemberwiseClone() | (Object から継承されます。) | |
MemberwiseClone(Boolean) | (MarshalByRefObject から継承されます。) | |
NextResult | .NET Compact Framework Data Provider for SQL Server Compact ではサポートされていません。 (SqlCeDataReader から継承されます。) | |
OnMove | インフラストラクチャです。 (SqlCeDataReader.OnMove() をオーバーライドします。) | |
Read | SqlCeDataReader を次のレコードに進めます。 (SqlCeDataReader から継承されます。) | |
ReadAbsolute | ResultSet 内の特定のレコードにリーダーを移動します。 | |
ReadFirst | ResultSet 内の最初のレコードにリーダーを移動します。 | |
ReadLast | ResultSet 内の最後のレコードにリーダーを移動します。 | |
ReadPrevious | 現在のレコードの前にあるレコードにリーダーを移動します。 | |
ReadRelative | 現在の位置から指定した分だけリーダーを移動します。 | |
Seek | SqlCeDataReader を、指定したパラメーターに一致するインデックス値が存在するレコードに配置します。 (SqlCeDataReader から継承されます。) | |
SetBoolean | 指定した列の値に、渡されたブール値を設定します。 | |
SetByte | 指定した列の値に、渡されたバイト値を設定します。 | |
SetBytes | 指定したバッファーから指定した列にバイトの長さをコピーします。コピーは、フィールド内の指定位置から開始されます。 | |
SetChar | 指定した列の値に、渡された Char 値を設定します。 | |
SetChars | 指定したバッファーから指定した列に文字の長さをコピーします。コピーは、フィールド内の指定位置から開始されます。 | |
SetDateTime | 指定した列の値に、渡された DateTime 値を設定します。 | |
SetDecimal | 指定した列の値に、渡された Decimal 値を設定します。 | |
SetDefault | 指定した列に既定値を設定します。 | |
SetDouble | 指定した列の値に、渡された Double 値を設定します。 | |
SetFloat | 指定した列の値に、渡された Float 値を設定します。 | |
SetGuid | 指定した列の値に、渡された Guid 値を設定します。 | |
SetInt16 | 指定した列の値に、渡された Int16 値を設定します。 | |
SetInt32 | 指定した列の値に、渡された Int32 値を設定します。 | |
SetInt64 | 指定した列の値に、渡された Int64 値を設定します。 | |
SetObjectRef | 指定した位置の列にオブジェクトをバインドします。 | |
SetSqlBinary | 指定した列の値に、渡されてきた SqlBinary 値を設定します。 | |
SetSqlBoolean | 指定した列の値に、渡された SqlBoolean 値を設定します。 | |
SetSqlByte | 指定した列の値に、渡された SqlByte 値を設定します。 | |
SetSqlDateTime | 指定した列の値に、渡された SqlDateTime 値を設定します。 | |
SetSqlDecimal | 指定した列の値に、渡された SqlDecimal 値を設定します。 | |
SetSqlDouble | 指定した列の値に、渡された SqlDouble 値を設定します。 | |
SetSqlGuid | 指定した列の値に、渡された SqlGuid 値を設定します。 | |
SetSqlInt16 | 指定した列の値に、渡された SqlInt16 値を設定します。 | |
SetSqlInt32 | 指定した列の値に、渡された SqlInt32 値を設定します。 | |
SetSqlInt64 | 指定した列の値に、渡された SqlInt64 値を設定します。 | |
SetSqlMoney | 指定した列の値に、渡された SqlMoney 値を設定します。 | |
SetSqlSingle | 指定した列の値に、渡された SqlSingle 値を設定します。 | |
SetSqlString | 指定した列の値に、渡された SqlString 値を設定します。 | |
SetString | 指定した列の値に、渡された String 値を設定します。 | |
SetValue | 指定した列の値に、渡された値を設定します。 | |
SetValues | 指定したレコード内の各フィールドに、指定した配列内の対応する値を設定します。 | |
ToString | (Object から継承されます。) | |
Update | 現在のレコードから、サーバーの基になる行に変更が送信されます。 |
Top
明示的なインターフェイスの実装
名前 | 説明 | |
---|---|---|
IListSource.ContainsListCollection | ||
IEnumerable.GetEnumerator | ||
IListSource.GetList | ||
IDataRecord.GetData | (DbDataReader から継承されます。) |
Top
説明
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 メソッドを呼び出すと、カーソルが 2 番目のレコードに移動します。
使用例
新しい 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();
}
スレッド セーフ
この型の public static (Microsoft Visual Basic では Shared) のすべてのメンバーは、スレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。