求教数据库添加问题,IDIspatch error #3092

dengfengjh 2012-01-04 06:00:30
向数据库中添加数据的时候出现了这个提示,该怎么解决啊?看了论坛上的帖子,也不是很明白,请指教!
CDlgDataAdd dlg;
dlg.sheet="榫齿截面控制点位置";
if (dlg.DoModal()==IDCANCEL) return;
ADOConn ado;
int adosign=ado.OnInitADOConnect();
if (adosign==FALSE)
{
uc1601("连接数据库失败,请检查其运行状况",1);
return;
}
l_str[1].Format("%.4f",l1);
l_str[2].Format("%.4f",l2);
l_str[3].Format("%.4f",l3);
l_str[4].Format("%.4f",l4);
l_str[5].Format("%.4f",l5);
l_str[6].Format("%.4f",l6);
l_str[7].Format("%.4f",l7);
l_str[8].Format("%.4f",l8);
l_str[9].Format("%.4f",l9);
l_str[10].Format("%.4f",l10);
l_str[11].Format("%.4f",l11);
l_str[12].Format("%.4f",l12);
l_str[13].Format("%.4f",l13);
l_str[14].Format("%.4f",l14);
l_str[15].Format("%.4f",l15);


r_str[1].Format("%.4f",r1);
r_str[2].Format("%.4f",r2);
r_str[3].Format("%.4f",r3);
r_str[4].Format("%.4f",r4);
r_str[5].Format("%.4f",r5);
r_str[6].Format("%.4f",r6);
r_str[7].Format("%.4f",r7);
r_str[8].Format("%.4f",r8);
r_str[9].Format("%.4f",r9);
r_str[10].Format("%.4f",r10);
r_str[11].Format("%.4f",r11);
r_str[12].Format("%.4f",r12);

ag_str[0].Format("%.4f",ag1);
ag_str[1].Format("%.4f",ag2);


CString temp[2];
temp[0].Format("%d",dlg.add_item.jm_index);
temp[1].Format("%d",dlg.add_item.com_index);


CString tempSQL="INSERT INTO 榫齿截面控制点位置(截面名称,厂家名称,厂家索引,截面索引,L1,L2,L3,L4,L5,L6,L7,L8,L9,L10,L11,L12,L13,L14,L15,R1,R1,R3,R4,R5,R6,R7,R8,R9,R10,R11,R12,AG1,AG2) VALUES (";

tempSQL=tempSQL+temp[0]+",'"+dlg.add_item.jm_str+"',"+temp[1]+",'"+dlg.add_item.comp_str+"'";
int i=0;
for (i=1;i<15;i++)
{
tempSQL=tempSQL+","+l_str[i];
}
for (i=1;i<13;i++)
{
tempSQL=tempSQL+","+r_str[i];
}
for (i=0;i<2;i++)
{
tempSQL=tempSQL+","+ag_str[i];
}
_bstr_t vSQL=tempSQL;


int addsign=ado.ExecuteSQL(vSQL);//有问题

if(addsign==1) uc1601("添加成功",1);
else uc1601("添加失败",1);
在设置断点调试的时候,在int addsign=ado.ExecuteSQL(vSQL);这句话的时候提示有问题!

...全文
158 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
dengfengjh 2012-01-05
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 gameslq 的回复:]
IDIspatch error #3092 错误 表示sql执行语句有语法错误
应该是少列值上少单引号 比如 tempSQL=tempSQL+temp[0]+",'"+
应该是 tempSQL="'"+tempSQL+temp[0]+"','"+

可以在执行语句之前把拼好的语句打印出来,比如
AfxMessageBox(vSQL),看看语句是否正确。
[/Quote]好像也不能用啊
dengfengjh 2012-01-05
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 shn521 的回复:]
_bstr_t vSQL=(_bstr_t)tempSQL;试试
[/Quote]谢谢您的指点,但是还是那个问题
gameslq 2012-01-05
  • 打赏
  • 举报
回复
IDIspatch error #3092 错误 表示sql执行语句有语法错误
应该是少列值上少单引号 比如 tempSQL=tempSQL+temp[0]+",'"+
应该是 tempSQL="'"+tempSQL+temp[0]+"','"+

可以在执行语句之前把拼好的语句打印出来,比如
AfxMessageBox(vSQL),看看语句是否正确。
shn521 2012-01-05
  • 打赏
  • 举报
回复
_bstr_t vSQL=(_bstr_t)tempSQL;试试
dengfengjh 2012-01-05
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 th_gsb 的回复:]
是不是因为表名引起的问题?你可以试试把表名用括号括起来,如下所示:
CString tempSQL="INSERT INTO [榫齿截面控制点位置](截面名称,厂家名称,厂家索引,截面索引,L1,L2,L3,L4,L5,L6,L7,L8,L9,L10,L11,L12,L13,L14,L15,R1,R1,R3,R4,R5,R6,R7,R8,R9,R10,R11,R12,AG1,AG2) VALUE……
[/Quote]还是同样的问题啊
dengfengjh 2012-01-05
  • 打赏
  • 举报
回复
好的,谢谢您的指点,我试试看
幸福官 2012-01-05
  • 打赏
  • 举报
回复
是不是因为表名引起的问题?你可以试试把表名用括号括起来,如下所示:
CString tempSQL="INSERT INTO [榫齿截面控制点位置](截面名称,厂家名称,厂家索引,截面索引,L1,L2,L3,L4,L5,L6,L7,L8,L9,L10,L11,L12,L13,L14,L15,R1,R1,R3,R4,R5,R6,R7,R8,R9,R10,R11,R12,AG1,AG2) VALUES (";

仅供参考
dengfengjh 2012-01-05
  • 打赏
  • 举报
回复
没有人知道吗?
shn521 2012-01-05
  • 打赏
  • 举报
回复
好好再检查下sql语句,像逗号冒号啥的,格式都得对
stjay 2012-01-05
  • 打赏
  • 举报
回复
貌似 VALUES 后少了右括号 )
截面名称,厂家名称,厂家索引,截面索引 的顺序错了,和temp[0]+",'"+dlg.add_item.jm_str+"',"+temp[1]+",'"+dlg.add_item.comp_str不对应

这样比较清晰点
CString tempSQL;
tempSQL.Format("INSERT INTO 榫齿截面控制点位置(截面名称,厂家名称,厂家索引,截面索引,L1,L2,L3,L4,L5,L6,L7,L8,L9,L10,L11,L12,L13,L14,L15,R1,R1,R3,R4,R5,R6,R7,R8,R9,R10,R11,R12,AG1,AG2) VALUES ('%s','%s',%d,%d,%.4f,%.4f,%.4f,%.4f,%.4f,%.4f,%.4f,%.4f,%.4f,%.4f,%.4f,%.4f,%.4f,%.4f,%.4f,%.4f,%.4f,%.4f,%.4f,%.4f,%.4f,%.4f,%.4f,%.4f,%.4f,%.4f,%.4f,%.4f,%.4f)",dlg.add_item.jm_str,dlg.add_item.comp_str,dlg.add_item.jm_index,dlg.add_item.com_index,l1,l2,l3,l4,l5,l6,l7,l8,l9,l10,l11,l12,l13,l14,l15,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11,r12,ag1,ag2);

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧