在连接postgreSQL数据库进行增删改查时,控制台程序报错项目名.exe已触发了一个断点,逐语句调试也没有找到原因。网上遇到类似的问题都有由于数据超出内存所致,我也没有定义数组,后看到网上一个定义SQL语句采用数组形式,而我的定义的是char *,改成固定大小的数据形式就不报异常了
由string a = “SELECT * FROM pointcloud_data where id=” + to_string(processid);
char * sql = new char();
strcpy(sql, a.c_str());
改成
- string sqltemp = “SELECT * FROM pointcloud_process where id=” +
to_string(processid);
char sql[100];
strcpy(sql, sqltemp.c_str());