?在做ms SqlServer 数据库编程练习的时候,为了能够看一下SqlServer的联机丛书中的例子跑起来是什么样子,就拷了里面的一个源代码来跑,没想到竟然不能通过vc6的编译!
?? ? 代码如下:
Code:
- #include?<stdio.h>??
- #include?<string.h>??
- #include?<windows.h>??
- #include?<sql.h>??
- #include?<sqlext.h>??
- #include?<odbcss.h>??
- ??
- #define?MAXBUFLEN???255??
- ??
- SQLHENV??????henv?=?SQL_NULL_HENV;??
- SQLHDBC??????hdbc1?=?SQL_NULL_HDBC;???????
- SQLHSTMT??????hstmt1?=?SQL_NULL_HSTMT;??
- ??
- int?main()?{??
- ???RETCODE?retcode;??
- ?????
- ???SQLCHAR??????szName[MAXNAME+1];??
- ???
- ??
- ??????
- ???retcode?=?SQLAllocHandle?(SQL_HANDLE_ENV,?NULL,?&henv);??
- ?????
- ???retcode?=?SQLSetEnvAttr(henv,?SQL_ATTR_ODBC_VERSION,??
- ?????????????????????(SQLPOINTER)?SQL_OV_ODBC3,?SQL_IS_INTEGER);??
- ?????
- ???retcode?=?SQLAllocHandle(SQL_HANDLE_DBC,?henv,?&hdbc1);??
- ???retcode?=?SQLConnect(hdbc1,??
- ????????????"test",?SQL_NTS,"jiiming",?"123",?SQL_NTS);??
- ?????
- ?????
- ???retcode?=?SQLAllocHandle(SQL_HANDLE_STMT,?hdbc1,?&hstmt1);??
- ?????
- ?????
- ???unsigned?char?*SQLstr="select?*?from?SC";??
- ???retcode?=?SQLExecDirect(hstmt1,??
- ?????????????????????SQLstr,?17);??
- ??
- ?????
- ?????
- ?????
- ?????
- ?????
- ?????
- ?????
- ??
- ??
- ???
- ???while?(?(retcode?=?SQLFetch(hstmt1)?)?!=?SQL_NO_DATA?)?{??
- ????????SQLINTEGER?Sno,Cno,Grade;??
- ????????SQLINTEGER?Snolen,Cnolen,Gradelen;??
- ?????
- ????????SQLGetData(hstmt1,1,SQL_C_LONG,&Sno,?&Snolen);??
- ????????SQLGetData(hstmt1,2,&Cno,?&Cnolen);??
- ????????SQLGetData(hstmt1,3,&Grade,?&Gradelen);??
- ????????printf("Sno=?%d/tCno?=?%d/tGrade?=?%d",Sno,Grade);??
- ???}??
- ??
- ?????
- ???SQLFreeHandle(SQL_HANDLE_STMT,?hstmt1);??
- ???SQLDisconnect(hdbc1);??
- ???SQLFreeHandle(SQL_HANDLE_DBC,?hdbc1);??
- ???SQLFreeHandle(SQL_HANDLE_ENV,?henv);??
- ??
- ???return(0);??
- }??
?? ? ? ?这段代码我只改了数据库名字,用户名,密码,以及结果集的处理部分,没想到不能通过编译,错误如下:
) : error C2664: 'SQLConnect' : cannot convert parameter 2 from 'char [5]' to 'unsigned char *'
?? ? ? ?Types pointed to are unrelated; conversion requires reinterpret_cast,C-style cast or function-style cast
?: error C2440: 'initializing' : cannot convert from 'char [17]' to 'unsigned char *'
?? ? ? ?Types pointed to are unrelated; conversion requires reinterpret_cast,C-style cast or function-style cast
?? ? ? ? 大家帮忙看看,这是没什么呀?
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|