收录日期:2019/04/18 21:30:22 时间:2016/06/01 15:44:04 标签:基础类
我分配环境和连接句柄都成功了,就在接下来分配语句句柄的时候一直报错,返回-1(SQL_ERROR)。一直不得其所以然,请问各位这可能的错误原因在哪里?代码如下:

SQLHANDLE hEnv;                   //ODBC环境句柄
SQLHANDLE hConn;                  //ODBC连接句柄
SCHAR * strConnect ="DRIVER={Microsoft Access Driver (*.mdb)};DBQ=";   
SCHAR * DBName="exam.mdb";
SCHAR ProgPath[256];

GetCurrentDirectory(256,ProgPath);     
ProgPath[strlen(ProgPath)]='\\';
ODBCConnect(strConnect,ProgPath,DBName);

strcat(ConnectString,strConnect);
strcat(ConnectString,ProgPath);
strcat(ConnectString,DBName);

RB=SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE,&hEnv);                  //获取环境句柄
if (RB==SQL_SUCCESS/* || RB==SQL_SUCCESS_WITH_INFO*/)
{
RB=SQLSetEnvAttr(hEnv,SQL_ATTR_ODBC_VERSION,(SQLPOINTER)SQL_OV_ODBC3,0); //设置OBDC启用版本
if (RB==SQL_SUCCESS/* || RB==SQL_SUCCESS_WITH_INFO*/)
{
    RB=SQLAllocHandle(SQL_HANDLE_DBC,hEnv,&hConn);                         //获取连接句柄
    if (RB==SQL_SUCCESS/* || RB==SQL_SUCCESS_WITH_INFO*/)
             {
          RB=SQLDriverConnect(hConn,NULL,(LPSTR)ConnectString,(SQLSMALLINT)strlen(ConnectString),(LPSTR)Conn,(SQLSMALLINT)strlen(Conn),&StrLen,SQL_DRIVER_NOPROMPT);  //联接OBDC驱动程序
          if (RB==SQL_SUCCESS/* || RB==SQL_SUCCESS_WITH_INFO*/)
    printf("\nDatabase connected successfully:\n%s%s\n\n",ProgPath,DBName);
         else 
{
    SQLFreeHandle(SQL_HANDLE_DBC, hConn);                        //释放句柄
             SQLFreeHandle(SQL_HANDLE_ENV, hEnv);
    FatalError("ODBC驱动程序连接失败!\n");
}
    }
    else
    {
     SQLFreeHandle(SQL_HANDLE_ENV, hEnv);
             FatalError("ODBC连接句柄获取失败!\n");
    }
}
else
         {
    SQLFreeHandle(SQL_HANDLE_ENV, hEnv);
             FatalError("设置ODBC工作版本失败!\n");
}
}
else
   FatalError("ODBC环境句柄获取失败!\n");


RC=SQLAllocHandle(SQL_HANDLE_STMT, hConn, &hStmt);
if(RC==SQL_SUCCESS || RC==SQL_SUCCESS_WITH_INFO)
{
    RC=SQLExecDirect(hStmt,SQLStatement,strlen(SQLStatement));
就这里总是报错-1。
up,没人在意么?

如何显示CReBar的蚀刻线,急!急!急! 用sys和internal无法登录是怎么回事? 如何在MDI中通过菜单选择打开某个子窗口 两个names.nsf如何将其中的一个的用户转到另一个names.nsf中? 模板类CMap问题 ****使用ocx控件的问题**** 在Redhat9.1上安装oracle8.1.7上报ins_net_client.mk的错 请问对在.net中的中,如何表格设置居中呢 请教fastreport中有关分组头的问题,用过fastreport的朋友请进来~~~ 模板的初级问题!在VC中不能运行。急救!多谢! 如何实现根据不同的文件后缀名,打开相对应的应用程序?? 【转帖】漂亮MM和普通MM的区别 大家好快来帮我啊数据库连接问题???谢谢 除了Classwizard,怎么直接设置CheckBox 我的一个软件不支持sun jvm,我安了jdk1.4,怎么恢复??? 如何知道word或winzip所打开的文件名?? delphi与水晶报表!! ASP连接非默认端口SQL数据库的问题 [急] 请问ADODC控件中如何设定BATCH UPDATE模式? !!!请教拉:怎样知道一个网站ip地址? 关于配置的问题 关于MMI 我是新开始学commercial web design的可怜mm.希望大家给点关于参考书的建议.谢谢 为什么找不到模板处理类文件? 关于ASP服务器转asp.net服务器的问题!++++50分!在线等(不甚感激)!!!!! 新警察... [转] 寻找Java编程工具. bao 如何杀死服务创建的进程! 急,很简单问题,搞定马上结贴 高手请进,部分排序,怎么实现啊?