月亮柠檬 发表于 2009-5-25 11:35:29

求助:错误代码: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:    标准表达式中数据类型不匹配。

netcreature 发表于 2009-5-25 12:18:30

这是你调用函数:DBExecutePreparedSQL(。。。)时的参数类型不对,自己再检查一下吧!

月亮柠檬 发表于 2009-5-25 14:51:07

仔细看过,还是有些不明白啊,部分源码如下,版主多指教啊!
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);

netcreature 发表于 2009-5-25 15:21:10

就你提供的代码片断来说,并无什么毛病(当然,我不考虑你的变量声明)!
只能怀疑:INSERT INTO 病人基本信息 VALUES(?,?,?,?,?)此句可能有误(因为一般的数据表中总会设一个ID什么的主键列),所以,建议你先确认一下"病人基本信息" 表是否只有五列数据!

月亮柠檬 发表于 2009-5-26 16:09:52

谢谢版主提示,问题已经解决了!主要是VALUES值与数据表中各列没有对应!
页: [1]
查看完整版本: 求助:错误代码:0x80040e07,标准表达式中数据类型不匹配