刚才发帖,但问题没有解决,再发一次。
CString str,str1,str2,str3;
str1="TexAverageLum";
str2.Format("%f",minTexAverageLum);//minTexAverageLum为folat型变量,已赋值。
str3.Format("%f",minTexAverageLum+TexAverageLum);//minTexAverageLum、TexAverageLum都为folat型变量,已赋值。
CADOConn ado;
ado.OnInitADOConn();
_bstr_t vSQL;
vSQL="SELECT * FROM ManyRuless";//数据库表名
_RecordsetPtr m_pRecordset;
m_pRecordset=ado.GetRecordSet(vSQL);
str.Format("INSERT INTO ManyRuless(FeatureFirst,Min_ValueFeatureFirst,Max_ValueFeatureFirst)VALUES(%s, %s, %s)", str1, str2, str3);
vSQL= str;
ado.ExecuteSQL(vSQL);
ado.ExitConnect();//断开数据库连接
编译可以通过,运行时出现错误。提示如下:在此上下文不允许使用‘TexAverageLum’。此处只允许使用常量、表达式或变量。不允许使用列名。
我用的是VS.NET2008,数据库是SQL2000.
CString str,str1,str2,str3;
str1="TexAverageLum";
str2.Format("%f",minTexAverageLum);//minTexAverageLum为folat型变量,已赋值。
str3.Format("%f",minTexAverageLum+TexAverageLum);//minTexAverageLum、TexAverageLum都为folat型变量,已赋值。
CADOConn ado;
ado.OnInitADOConn();
_bstr_t vSQL;
vSQL="SELECT * FROM ManyRuless";//数据库表名
_RecordsetPtr m_pRecordset;
m_pRecordset=ado.GetRecordSet(vSQL);
str.Format("INSERT INTO ManyRuless(FeatureFirst,Min_ValueFeatureFirst,Max_ValueFeatureFirst)VALUES(%s, %s, %s)", str1, str2, str3);
vSQL= str;
ado.ExecuteSQL(vSQL);
ado.ExitConnect();//断开数据库连接
编译可以通过,运行时出现错误。提示如下:在此上下文不允许使用‘TexAverageLum’。此处只允许使用常量、表达式或变量。不允许使用列名。
我用的是VS.NET2008,数据库是SQL2000.
解决方案 »
- CHttpFile ajax脚本执行(GET,POST)
- 关闭系统
- 写麻将,用Cocket类通信遇到问题
- 在一家小公司做VC++一年多待遇不到3K支撑我坚持这么久的信念就是有一个相对宽松的环境可以学习
- 我没有装Direct X SDK,为什么也能用ddraw.lib dguid.lib?只是那些函数、宏后面都没版本号,例如LPDIRECTDRAW,ddraw.h
- 如何使基于对话框类的窗口可以自由的调整大小?
- 如何检测键盘中的字符输入是在大写还是小写状态
- ?--==怎 样 才 能 使 绘 制 的 图 形 无 闪 烁==--?____(高手请进,看看代码)
- Overlapped sockets指的是什么??
- 请教一个关于ISAPI的问题
- 自动新建一个DWG并置为当前文件的代码
- HBITMAP的相关问题
//TexAverageLum是数据库中的一个列名?
str.Format("INSERT INTO ManyRuless(FeatureFirst,Min_ValueFeatureFirst,Max_ValueFeatureFirst) VALUES(\"%s\", \"%s\", \"%s\")", str1, str2, str3);
也不行,给刚才的错误提示一样。
//第一个%s上加单引号
遇到这种问题先把str打印出来看看,必要的话拷贝粘贴到数据库管理工具中试试