首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

C++联接 MySQL 内存冲突

2013-01-18 
C++连接 MySQL 内存冲突这次是真的不行了,怎么试都不行,恳请大侠帮忙看看是怎么回事很简单的网上当来的小

C++连接 MySQL 内存冲突
这次是真的不行了,怎么试都不行,恳请大侠帮忙看看是怎么回事

很简单的网上当来的小程序

sql::Driver *driver;  
      sql::Connection *con;  
      sql::Statement *stmt;  
      sql::ResultSet *res;  
      /* Create a connection */  
      driver = get_driver_instance();  
      //连接数据库  
      con = driver->connect("tcp://192.168.20.224:3306", "root", "111111");  
      /* Connect to the MySQL sj database */  
      //选择要连接的数据库  
      con->setSchema("tiamsql");  
      //新建一个执行语句  
      stmt = con->createStatement(); 
  cout << "stmt->" << stmt << endl;
      //执行语句并返回结果集  
      res = stmt->executeQuery("select * from student");  
      //遍历结果集
  while (res->next())   
      {  
  cout << "res->" << res->next() << endl;
        //这里的ID是name表中的字段名  
  cout << res->getString("name") << endl; 
      }  


每次运行到 最后一行  cout << res->getString("name") << endl; 的时候会出现中断
错误如下

.exe 中的 0x5702aa48 处未处理的异常: 0xC0000005: 读取位置 0x0000000c 时发生访问冲突

真的不知道怎么弄了,连接的版本试了很多个,都是读取冲突,不明白到底哪里弄得不对了,是不是什么配置有问题,请多多指教。谢谢了!
[解决办法]
估计是连接字符窜的问题!
adoassistant 的软件 你去下载一个!
[解决办法]
Windows:
崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处。
Linux:
进程意外退出会在当前目录下产生形如‘core.数字’的文件比如‘core.1234’
使用命令
gdb 运行程序名 core.数字
进入gdb然后使用bt命令
可以查看进程意外退出前函数调用的堆栈,内容为从上到下列出对应从里层到外层的函数调用历史。
如果进程意外退出不产生core文件,参考“ulimit -c core文件最大块大小”命令

热点排行