#include #include #include #include int main() { SQLCHAR szOut[1024]; CHAR szConn[]="ODBC;DSN=NULL;DRIVER=MySQL ODBC 3.51 Driver;SERVER=localhost;USER=user;PASSWORD=pw"; SQLHANDLE hEnv=NULL, hConn=NULL, hStmt=NULL; ::SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &hEnv); SQLSetEnvAttr(hEnv, SQL_ATTR_ODBC_VERSION, (void*)SQL_OV_ODBC3, 0); SQLAllocHandle(SQL_HANDLE_DBC, hEnv, &hConn); SQLSMALLINT nOut; SQLRETURN ret = ::SQLDriverConnect(hConn, NULL, (SQLCHAR *) szConn, SQL_NTS, szOut, sizeof(szOut), &nOut, SQL_DRIVER_NOPROMPT); if(!SQL_SUCCEEDED(ret)) { printf("Connection failed\r\n"); return 0; } ::SQLAllocHandle(SQL_HANDLE_STMT, hConn, &hStmt); ::SQLExecDirect(hStmt, (SQLCHAR *) "DROP DATABASE IF EXISTS testdatelen", SQL_NTS); ::SQLExecDirect(hStmt, (SQLCHAR *) "CREATE DATABASE testdatelen", SQL_NTS); ::SQLExecDirect(hStmt, (SQLCHAR *) "CREATE TABLE testdatelen.tdl (id INT NOT NULL PRIMARY KEY, d DATE NOT NULL)", SQL_NTS); ::SQLExecDirect(hStmt, (SQLCHAR *) "INSERT INTO testdatelen.tdl VALUES(1, '2000-1-3')", SQL_NTS); ::SQLExecDirect(hStmt, (SQLCHAR *) "SELECT d FROM testdatelen.tdl", SQL_NTS); SQLINTEGER nCode; ret = ::SQLColAttribute(hStmt, 1, SQL_DESC_DATETIME_INTERVAL_CODE, NULL, 0, NULL, &nCode); printf("SQLColAttribute returned: %d\r\n", ret); printf("SQL_DESC_DATETIME_INTERVAL_CODE should be: %d\r\n", SQL_CODE_DATE); printf("SQL_DESC_DATETIME_INTERVAL_CODE is: %d\r\n", nCode); return 0; }