我用SQLExecDirect()执行以下的语句,但是失败了char* sql;
HDBC hdbc;
HSTMT FAR *phstmt;
phstmt =(HSTMT FAR *)malloc(sizeof(HSTMT FAR));
sql=(char*)malloc(200);
sql="insert into table(num,name,sysdate)values(12345,'jeah',getdate())";
SQLAllocStmt(hdbc,phstmt);
rc=SQLExecDirect(*phstmt,(UCHAR FAR*)SQL,SQL_NTS);结果记录没插进去,rc返回的是执行失败的信息,请问还缺点什么,还有别的执行插入
或执行SQL语句的函数吗?
HDBC hdbc;
HSTMT FAR *phstmt;
phstmt =(HSTMT FAR *)malloc(sizeof(HSTMT FAR));
sql=(char*)malloc(200);
sql="insert into table(num,name,sysdate)values(12345,'jeah',getdate())";
SQLAllocStmt(hdbc,phstmt);
rc=SQLExecDirect(*phstmt,(UCHAR FAR*)SQL,SQL_NTS);结果记录没插进去,rc返回的是执行失败的信息,请问还缺点什么,还有别的执行插入
或执行SQL语句的函数吗?
HDBC hdbc=NULL;
HSTMT hstmt=NULL;
CString sql;
sql="insert into table(num,name,sysdate) values(12345,'jeah',getdate())";//你自
己保证语句的正确
SQLAllocHandle(SQL_HENV_NULL,NULL,&henv);
SQLSetAttr//忘了,自己查msdn
SQLAllocHandle(SQL_HDBC_NULL,henv,&hdbc);
SQLConnect//同上 :)
SQLAllocHandle(SQL_HDBC_NULL,hdbc,&hstmt);SQLExecDirect(hstmt,sql,SQL_NTS);或用
SQLPrepare(hstmt,sql,SQL_NTS);
SQLExecute(hstmt);//具体参考msdn
strcpy(sourcename,"source");
strcpy(username,"sa");
strcpy(password,"1111");
SQLAllocEnv(&henv);
SQLAllocConnect(henv,&hdbc);
SQLConnect(hdbc,(UCHAR*)sourcename,SQL_NTS,(UCHAR*)username,SQL_NTS,(UCHAR*)password,SQL_NTS);最后一句执行失败,请问这是什么原因,SQLConnect中sourcename,username,password三个
参数怎么设定,我用“source”“sa”“1111”在ODBC中连接数据源的时候是对的,可在这里却没连接上,以上错误出在哪呢?