サーバーのデータの更新を開始します。この関数は呼出し元にデータを戻しません。
構文
ESSG_FUNC_M
EssGBeginUpdate
(
hGrid, ulOptions
);
| パラメータ | データ型 | 説明 |
|---|---|---|
hGrid |
ESSG_HGRID_T |
EssGNewGridから戻されるハンドル。 |
ulOptions |
ESSG_ULONG_T |
ブロックを更新前にロックする必要があるかどうかを指定する定数。次の相互に排他的な値のいずれかの値を使用する必要があります:
|
備考
EssGPerformOperationを呼び出して操作を完了すると、このブロックのロックが解除されます。ブロックのロックを維持する場合は、EssGSetGridOptionsの「更新モード」オプションをTRUEに設定します。この操作では行を取得する必要はありません。EssGSendRowsとEssGPerformOperationを呼び出すのみで十分です。
戻り値
正常終了の場合は、ESSG_STS_NOERRが戻されます。
アクセス
なし。
例
ESSG_VOID_T ESSG_BeginUpdate (ESSG_HGRID_T hGrid)
{
ESSG_FUNC_M sts = ESS_STS_NOERR;
ESSG_PPDATA_T ppDataIn;
ESSG_RANGE_T rDataRangeIn;
ESSG_ULONG_T ulOptions;
/* connect the grid to a database on the server */
sts = EssGConnect(hGrid, "Rainbow", "Admin",
"Password", "Demo", "Basic", ESSG_CONNECT_NODIALOG);
if(sts == 0)
{
ppDataIn = BuildTable (&rDataRangeIn);
ulOptions = ESSG_LOCKIFNEEDED;
/* start the update operation */
sts = EssGBeginUpdate(hGrid, ulOptions);
}
if(sts == 0)
{
/* send the entire grid to define the query */
sts = EssGSendRows(hGrid, &rDataRangeIn, ppDataIn);
}
if(sts == 0)
{
/* perform the update */
sts = EssGPerformOperation(hGrid, 0);
/* free the built data */
FreeTwoDim(ppDataIn, rDataRangeIn.ulNumRows);
}
if(!sts)
{
EssGEndOperation(hGrid, 0);
EssGDisconnect(hGrid, 0);
}
}
関連トピック