求助:错误代码:0x80040e07,标准表达式中数据类型不匹配
NON-FATAL RUN-TIME ERROR: "patient.c", line 348, col 21, thread id 0x00000FF0: Function DBExecutePreparedSQL: (return value == -10 ). Native error code -2147217913 0x80040e07 Microsoft OLE DB Provider for ODBC Drivers: 标准表达式中数据类型不匹配。 这是你调用函数:DBExecutePreparedSQL(。。。)时的参数类型不对,自己再检查一下吧! 仔细看过,还是有些不明白啊,部分源码如下,版主多指教啊!hstmt1=DBPrepareSQL(hdbc,"INSERT INTO 病人基本信息 VALUES(?,?,?,?,?)");
DBCreateParamInt(hstmt1,"AGE",DB_PARAM_INPUT,agevalue);
DBCreateParamChar(hstmt1,"NAME",DB_PARAM_INPUT,namevalue,9);
DBCreateParamChar(hstmt1,"SEX",DB_PARAM_INPUT,sexvalue,3);
DBCreateParamChar(hstmt1,"ADDR",DB_PARAM_INPUT,addrvalue,12);
DBCreateParamChar(hstmt1,"TEL",DB_PARAM_INPUT,telvalue,28);
DBExecutePreparedSQL(hstmt1);
DBClosePreparedSQL(hstmt1); 就你提供的代码片断来说,并无什么毛病(当然,我不考虑你的变量声明)!
只能怀疑:INSERT INTO 病人基本信息 VALUES(?,?,?,?,?)此句可能有误(因为一般的数据表中总会设一个ID什么的主键列),所以,建议你先确认一下"病人基本信息" 表是否只有五列数据! 谢谢版主提示,问题已经解决了!主要是VALUES值与数据表中各列没有对应!
页:
[1]