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