- 论坛徽章:
- 0
|
我写了一个用odbc连接数据库的c程序:
#include “sqlext.h”
SQLHENV henv;
SQLHDBC hdbc;
SQLHSTMT hstmt;
SQLRETURN retcode;
/*Allocate environment handle */
retcode = SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv);
if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO) {
/* Set the ODBC version environment attribute */
retcode = SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (void*) SQL_OV_ODBC3, 0);
if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO) {
/* Allocate connection handle */
retcode = SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc);
if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO) {
/* Set login timeout to 5 seconds. */
SQLSetConnectAttr(hdbc, (void*)SQL_LOGIN_TIMEOUT, 5, 0);
/* Connect to data source */
retcode = SQLConnect(hdbc, (SQLCHAR*) "Sales", SQL_NTS,
(SQLCHAR*) "JohnS", SQL_NTS,
(SQLCHAR*) "Sesame", SQL_NTS);
if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO){
/* Allocate statement handle */
retcode = SQLAllocHandle(SQL_HANDLE_STMT, hdbc, &hstmt);
if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO) {
/* Process data */;
SQLFreeHandle(SQL_HANDLE_STMT, hstmt);
}
SQLDisconnect(hdbc);
}
SQLFreeHandle(SQL_HANDLE_DBC, hdbc);
}
}
SQLFreeHandle(SQL_HANDLE_ENV, henv);
出错:
d:\Program Files\Microsoft Visual Studio .NET\Vc7\PlatformSDK\Include\SqlTypes.h
(275) : error C2061: 语法错误 : 标识符“DWORD”
d:\Program Files\Microsoft Visual Studio .NET\Vc7\PlatformSDK\Include\SqlTypes.h
(276) : error C2061: 语法错误 : 标识符“Data2”
d:\Program Files\Microsoft Visual Studio .NET\Vc7\PlatformSDK\Include\SqlTypes.h
(276) : error C2059: 语法错误 : “;”
d:\Program Files\Microsoft Visual Studio .NET\Vc7\PlatformSDK\Include\SqlTypes.h
(277) : error C2061: 语法错误 : 标识符“Data3”
d:\Program Files\Microsoft Visual Studio .NET\Vc7\PlatformSDK\Include\SqlTypes.h
(277) : error C2059: 语法错误 : “;”
d:\Program Files\Microsoft Visual Studio .NET\Vc7\PlatformSDK\Include\SqlTypes.h
(27 : error C2061: 语法错误 : 标识符“Data4”
d:\Program Files\Microsoft Visual Studio .NET\Vc7\PlatformSDK\Include\SqlTypes.h
(27 : error C2059: 语法错误 : “;”
d:\Program Files\Microsoft Visual Studio .NET\Vc7\PlatformSDK\Include\SqlTypes.h
(27 : error C2059: 语法错误 : “[”
d:\Program Files\Microsoft Visual Studio .NET\Vc7\PlatformSDK\Include\SqlTypes.h
(279) : error C2059: 语法错误 : “}”
...
后来我将这个程序改为:
#include "sqlext.h"
main()
{
exit(1);
}
还是出上面的错。
其他一些时候我也常常遇到这样的错误。
编译器带的头文件怎么会出错呢?
请高手帮帮我。谢谢! |
|