CREATE TABLE test(id INT , name varchar(50))
con->setSchema("test");
  pstmt = con->prepareStatement("SELECT * FROM guestinfo ");
异常:TestDll.exe 中的 0x7c812afb 处最可能的异常: Microsoft C++ 异常: 内存位置 0x0012da54 处的 sql::SQLException。
Error:Using unsupported buffer type: 253  (parameter: 2) 这是为什么呢,不支持?
mysqlC函数库支持啊

解决方案 »

  1.   

    不好意思我把关键的掉了:
    res = pstmt->executeQuery();
    pstmt = con->prepareStatement(sqlStr.c_str());
    res = pstmt->executeQuery();
    res->afterLast();
    红色字体为错误行。。
      

  2.   

    不仅如此我还发现一些不可思意的问题:
    pstmt = con->prepareStatement(sqlStr.c_str());
    res = pstmt->executeQuery();
    res->afterLast();
    if (res->rowsCount() <= 0)
    return NULL;
    res->previous();
    res->getString(0);
    这样也居然错误,就是说查询结果已经出来了,但是还是错误了。我真怀疑是这个库有问题。。
    还是用C库吧。。
    不过请路过的,有遇到这个问题或者用了没有问题的帮我看看。。
      

  3.   

    不有一点,可能是c++库用了boost的东西,难道还需要相应的库?
    感觉也不太可能吧,boost应该只是用了一些源码,应该是已经编译进去的啊。。
    这是官网上给的一个例子,适当修改后就可以验证我的问题:
    http://dev.mysql.com/doc/refman/5.1/en/connector-cpp-examples-complete-example-2.html
      

  4.   

    最好还是看看是不是你用的VC runtime库跟mysql c++ connector要求的库不同造成的。
    以前我在oracle下使用OCCI遇到很多类似的问题。
      

  5.   

    怎么看,我用控制台的也还是有这个问题。
    不过真不是太清楚用了哪些库。。c++用了boost里的一些头文件,不知道是不是这个原因引起的。
    我想要是这些简单的操作都不行,这个bug也太大了。
    感觉有些不可能啊。。但至今仍未找到原因。。
      

  6.   

    搞定了吗?我这儿也出这事了,基本就是说不能用PreparedStatement