我的程序如下:
try{
CDatabase tempdb;
CString id1="234";
CString Sql=_T("insert biao1 (id,name,sex) values(id1,'john',man)");
tempdb.ExecuteSQL(Sql);
}
catch(CDException *e)
{
............
}结果出现异常,捕获的结果是:
“在此上下文中不允许使用id,此处只能是常量,表达式或变量,不允许使用列名。
”
这是怎么回事啊?
try{
CDatabase tempdb;
CString id1="234";
CString Sql=_T("insert biao1 (id,name,sex) values(id1,'john',man)");
tempdb.ExecuteSQL(Sql);
}
catch(CDException *e)
{
............
}结果出现异常,捕获的结果是:
“在此上下文中不允许使用id,此处只能是常量,表达式或变量,不允许使用列名。
”
这是怎么回事啊?
解决方案 »
- 为什么在VC6里面用std::提示‘std’is not a class or namespace name?
- MFC 窗口伸缩,怎么实现左边部分伸缩
- VC6.0安装的时候,为什么要更新MS java virtual machine?
- 请教WSAAsyncSelect
- 请教各位怎么样重置窗口的大小
- 请教!我在窗口上画了一个矩形框,想在这个矩形框里面实现响应键盘输入,请问大侠,有什么好的算法可以模拟类似于Edit box响应键盘输入的
- 如何获取当前系统的字体大小
- 修改控件的ID?
- 我用ADO访问FOXPro数据库的疑问,急需你的帮助,请看...
- 现在用VB写应用程序,想学C++,应如何入门啊
- 如何解载ie
- 如何分行写入文件?
这一句是这样的,刚才打错了
CString Sql=_T("insert into biao1 (id,name,sex) values(id1,'john',‘man‘)");
有
"Insert into biao1 (id,name,sex) values ('1234','john',‘man‘)"
CString str = "Insert into biao1 (id,name,sex) values('" + id1 + "','john','man')";
CString Sql==_T("insert biao1 (id,name,sex) values('")+id1+_T("','john',‘man‘)");
你在定义idl变量的时候最好这样 CString idl=_T("234");
SQL.F("Insert into biao1 (id,name,sex) values( '%s' ,'john','man')",di1); //如果id 是数值,就改用%d
m_db.Execute(SQL);
SQL.Format("Insert into biao1 (id,name,sex) values( '%s' ,'john','man')",di1); 才对
CDatabase tempdb;
CString id1="234";
CString Sql.Format("insert biao1 (id,name,sex) values(%s,'john',man)",id1);
try{
if(tempdb.OpenEx("DSN=数据源;",CDatabase::noOdbcDialog)==0){
...;
}
}
catch(...){
...
}
tempdb.BeginTrans();
tempdb.ExecuteSQL(Sql);
tempdb..CommitTrans();