Modifying Data
The following code examples show how to use data modification statements.
Procedure for Updates
Use SQLExecDirect to execute data manipulation statements and use the SQLRowCount function to obtain the affected rows.
INSERT
To insert updates:
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 ZohoBooks Source;", SQL_NTS, 0, 0, 0, 0);
SQLExecDirect(hstmt, (SQLCHAR*)"INSERT INTO INVOICES (InvoiceNumber) VALUES ('Jon Doe')", SQL_NTS);
SQLINTEGER rowCount = 0;
SQLRowCount(hstmt, &rowCount);
UPDATE
To retrieve updates:
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 ZohoBooks Source;", SQL_NTS, 0, 0, 0, 0);
SQLExecDirect(hstmt, (SQLCHAR*)"UPDATE INVOICES SET InvoiceNumber='Jon Doe' WHERE CustomerName='NewTech Industries')", SQL_NTS);
SQLINTEGER rowCount = 0;
SQLRowCount(hstmt, &rowCount);
DELETE
To delete updates:
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 ZohoBooks Source;", SQL_NTS, 0, 0, 0, 0);
SQLExecDirect(hstmt, (SQLCHAR*)"DELETE FROM INVOICES WHERE Id='1894553000000026007')", SQL_NTS);
SQLINTEGER rowCount = 0;
SQLRowCount(hstmt, &rowCount);