谭xl老司的炮兵 2021-05-06 17:03 采纳率: 0%
浏览 37

在visual studio中编写C++的ODBC代码时的Sqlprepare函数处运行时错误求教

如题,我第一次用Visual studio写代码,有些地方摸得不是很清楚。 在使用ODBC连接MySQL数据库的时候执行SQLPrepare的时候程序就在这里出现运行时错误:odbc32.dll处发生错误卡在这里,上网搜索也没搜出个所以然来,,

请问大佬能帮忙解答一下这是什么原因吗

源代码如下

#include<windows.h>
#include<sql.h>
#include<stdio.h>
#include<sqlext.h>
#include<sqltypes.h>
#include<string.h>
#include <time.h>
#define ll long long
#define db double
#define fl float 
#pragma warning(disable:4996)
#define LOGIN_TIMEOUT 30
#define MAXBUFLEN 255
using namespace std;
RETCODE ret;
HENV env = NULL;
HDBC conn = NULL;
HSTMT hstmt = NULL;

void work() {
	int choice = 0;//存放用户选项
	ret=SQLAllocEnv(&env);	//分配连接句柄
	ret=SQLAllocConnect(env, &conn);
	ret=SQLConnect(conn, (SQLCHAR*)"liba", SQL_NTS, (SQLCHAR*)"root", SQL_NTS, (SQLCHAR*)"qyp5225884", SQL_NTS);

	HSTMT temp;
	SQLRETURN err;
	SQLINTEGER Fin = SQL_NTS, lent;
	err = SQLAllocConnect(conn, &temp); int cnt = 0;
	err = SQLPrepare(temp, (SQLCHAR*)"SELECT COUNT(*) FROM book WHERE bno = \"0000000001\";", SQL_NTS);
	SQLExecute(temp);
	exit(0);

}
int main() {
	work();
	return 0;
}
  • 写回答

5条回答 默认 最新

  • CSDN专家-Time 2021-05-06 17:04
    关注

    内存异常,看看哪里没有初始化

    评论

报告相同问题?