データの変更
次のコード例は、データ変更ステートメントの使い方を示します。
更新手順
SQLExecDirect を使用してデータ操作ステートメントを実行し、その影響を受けた行をSQLRowCount 関数を使用して取得します。
INSERT
更新を挿入するには:
SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv);
SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (void*)SQL_OV_ODBC3, 0);
SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc);
SQLDriverConnect(hdbc, 0, (SQLCHAR*)"Dsn=CData IBMCloudSQLQuery Source;", SQL_NTS, 0, 0, 0, 0);
SQLExecDirect(hstmt, (SQLCHAR*)"INSERT INTO [CloudObjectStorage_1].[SampleBucket_1].Jobs (Status) VALUES ('Jon Doe')", SQL_NTS);
SQLINTEGER rowCount = 0;
SQLRowCount(hstmt, &rowCount);
UPDATE
更新を取得するには:
SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv);
SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (void*)SQL_OV_ODBC3, 0);
SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc);
SQLDriverConnect(hdbc, 0, (SQLCHAR*)"Dsn=CData IBMCloudSQLQuery Source;", SQL_NTS, 0, 0, 0, 0);
SQLExecDirect(hstmt, (SQLCHAR*)"UPDATE [CloudObjectStorage_1].[SampleBucket_1].Jobs SET Status='Jon Doe' WHERE UserId='gentit@cdata.com')", SQL_NTS);
SQLINTEGER rowCount = 0;
SQLRowCount(hstmt, &rowCount);
DELETE
更新を削除するには:
SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv);
SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (void*)SQL_OV_ODBC3, 0);
SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc);
SQLDriverConnect(hdbc, 0, (SQLCHAR*)"Dsn=CData IBMCloudSQLQuery Source;", SQL_NTS, 0, 0, 0, 0);
SQLExecDirect(hstmt, (SQLCHAR*)"DELETE FROM [CloudObjectStorage_1].[SampleBucket_1].Jobs WHERE Id='215776c8-81e1-4f8a-90ad-c70fd395ab41')", SQL_NTS);
SQLINTEGER rowCount = 0;
SQLRowCount(hstmt, &rowCount);