DbDataTable は、データ ソースから読み取り、メモリ データからのデータ ソースの最終的な一括更新によりデータにメモリ内の変更を加えるための Intent デザインです。DbDataTable デザインは ADO.Net の接続解除モードを実装します。dbDataTable では次のことができます。SELECT ステートメントの結果によるメモリ テーブルの初期 Fill()。ColumnNames ルールによるメタデータへのアクセス。RowCount ルールによる行数の決定。GetFieldValue()または GetRowFieldValues()メソッドによるデータへのアクセス。AddRow()メソッドによるメモリ テーブルへの行の追加。DeleteRow()メソッドによるメモリ テーブルからの行の削除。SetFieldValue()または SetRowFieldValues()メソッドによる行のデータ値の変更。Update()メソッドによるデータ ソースの一括更新。
ADO.Net デザインは、dbDataTable パーツが dbConnection の子であることを前提とします。
Name | [タイプ] | 説明 |
---|---|---|
接続<so>せつぞく | パーツ | 接続パーツで、通常は親です。 |
TableName | 文字列 | 必須。メモリ データ テーブルに希望する名前です。 |
SelectCommandText | 文字列 | 必須。SQL ステートメントです。 |
Name | [タイプ] | 説明 |
---|---|---|
RowCount | 整数 | データ テーブル内のレコードの数値です。 |
ColumnNames | list | 列名の一覧です。 |
Fill( ) As Anyデータ ソースに接続し、メモリ テーブルにデータを入れます。
GetFieldValue( Row as Integer, Column as Any ) As Any指定されたゼロを基数とする行番号と列を返します。列は文字列またはゼロを基数とする列番号です。
GetRowFieldValues( Row As Integer ) As List指定されたゼロを基数とする行の値の一覧を返します。
AddRow( fieldValues As List, _ Optional update? As Boolean = False ) As Anyデータ テーブルに新しい行を追加します。値が一覧から読み取られます。値の順序はデータ テーブルの列名に対応する必要があります。変更をすぐにデータ ソースに反映する必要がある場合には、update?:= True でメソッドを呼び出します。
SetFieldValue( Row As Integer, _ Column as Any, _ Value As Any, _ Optional update? As Boolean = False ) As Anyフィールドに新しい値を設定します。行はゼロを基数とする整数です。列はゼロを基数とする整数か、列名の文字列です。変更をすぐにデータ ソースに反映する必要がある場合には、update?:=True でメソッドを呼び出します。
SetRowFieldValues( Row As Integer, _ Values As List, _ Optional update? As Boolean = False ) As Any新しい値で既存の行を設定します。行はゼロを基数とする整数です。値の順序はデータ テーブルの列名の順序に対応する必要があります。変更をすぐにデータ ソースに反映する必要がある場合には、update?:=True でメソッドを呼び出します。
DeleteRow( Row As Integer, _ Optional update? As Boolean = False ) As Anyデータ テーブルから行(基数ゼロ)を削除します。変更をすぐにデータ ソースに反映する必要がある場合には、update?:=True でメソッドを呼び出します。
Update( Optional refresh? As Boolean = True ) As Anyデータ テーブルへの変更をすべてデータ ソースに反映します。データ テーブルの内容は必要に応じて更新されます。
この場合、結果は結果セットで返されます。
子の名前: | spRun | |
子のデザイン: | DbQueryCommand | |
[名前] | [タイプ] | 指定値 |
接続 | パーツ | Root.sqlServerConnection |
tableName | 文字列 | MemoryTable |
SelectCommandText | 文字列 | SELECT * From CarsTable |
Intent >AddRow({100,"Tatra","White","Czech"}) ?Add new car --> True Intent >DeleteRow(1) ?Delete ?Lada? car --> True Intent >SetFieldValue(4,"Comments","Italian") ?Change Italia->Italian --> True Intent >Update() ?Bulk update --> True