一、SQLBindParameter
SQLBindParameter将缓冲区绑定到的 SQL 语句中的参数标记。
SQLRETURN SQLBindParameter(
SQLHSTMT StatementHandle,
SQLUSMALLINT ParameterNumber,
SQLSMALLINT InputOutputType,
SQLSMALLINT ValueType,
SQLSMALLINT ParameterType,
SQLULEN ColumnSize,
SQLSMALLINT DecimalDigits,
SQLPOINTER ParameterValuePtr,
SQLLEN BufferLength,
SQLLEN * StrLen_or_IndPtr);
retcode = SQLBindParameter(hstmt, 1, SQL_PARAM_INPUT, SQL_C_CHAR, SQL_CHAR, EMPLOYEE_ID_LEN, 0, szEmployeeID, 0, &cbEmployeeID);
retcode = SQLBindParameter(hstmt, 2, SQL_PARAM_INPUT, SQL_C_SSHORT, SQL_INTEGER, 0, 0, &sCustID, 0, &cbCustID);
retcode = SQLBindParameter(hstmt, 3, SQL_PARAM_INPUT, SQL_C_TYPE_DATE, SQL_TIMESTAMP, sizeof(dsOrderDate), 0, &dsOrderDate, 0, &cbOrderDate);
retcode = SQLPrepare(hstmt, (SQLCHAR*)"INSERT INTO Orders(CustomerID, EmployeeID, OrderDate) VALUES (?, ?, ?)", SQL_NTS);
strcpy_s((char*)szEmployeeID, _countof(szEmployeeID), "BERGS");
sCustID = 5;
dsOrderDate.year = 2006;
dsOrderDate.month = 3;
dsOrderDate.day = 17;
retcode = SQLExecute(hstmt);
二、SQLPrepare
应用程序调用SQLPrepare将 SQL 语句发送到准备的数据源。 准备好的执行有关的详细信息,请参阅准备好执行。 应用程序可以在 SQL 语句中包含一个或多个参数标记。 若要包含的参数标记,该应用程序将嵌入一个问号 (?) 到相应位置处的 SQL 字符串。
三、SQLExecute
SQLExecute执行已准备的语句,使用参数标记变量的当前值,如果在语句中存在任何参数标记。
四、总结下
1、SQLBindParameter
2、SQLPrepare
3、给绑定的变量赋值
4、SQLExecute