收录日期:2019/06/20 14:13:29 时间: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,没人在意么?

问一个批处理脚本,for问题. qt,如何解压缩一个.zip包 急急急!!!--数据库表名字用什么变量替代 ADO操作数据库效率问题 在//W3C//DTD XHTML 1.0 Transitional//EN下怎样定义按钮的尺寸 软件标题栏文字如何居右?或居中? c#如何对内存进行操作 ListCtrl的SetState无效! 关于 vb mdi 关闭子窗体的问题 给大家出道题玩玩啊 ,我想了好久才想出来。 碰到一个超奇怪的问题,关于纯虚函数 spring+freemarker 预定义宏__LINE__替换非类型模板参数的问题 安装ArcGIS Desktop 9.3会破坏Win7系统,如何解决? 请教JAVA软件工程师的面试题 在action中如何获取页面的list值? Flex培训 上海Flex培训 Adobe Flex认证培训 3TI Solutions 如何通过import java.net.Socket BufferedImage[][] SQL 查询,按列求平均 菜鸟提问:关于头文件和源文件关系的问题! 资源不存在,又不让我下载 Ireport问题,高手进 [求助]JavaScrpit添加XML节点 判断非法字符的问题 自己当老板 累并快乐着 怎么设置tomcat外网才能访问??? 请js高手解决这个面试的问题,我当时没有做出来 菜鸟提问:关于头文件和源文件的问题! 按钮加载JPEG图片文件(不是从资源加载) 请教如何编写视频上传程序?类似有iTudou视频上传客户端那样的