SQL语句的菜鸟问题!在线等答案!解决就结帖!

hefeigunfire 2003-08-20 10:35:18
语句如下:
SELECT * FROM TestDataTable ORDER BY ABS(TSR-[Sr])
TSr为我定义的变量。我定义了一个编辑框,想在运行的时候通过输入TSr再UpdateData()来实时的更改TSr的值。运行的时候会出现这个错误对话框:
Runtime Error!
Program:D:\DBProg\Debug\DBProg.exe

This application has requested the Runtime to
terminate it in an unusual way.Please contact the
applicatuion's support team for more nformation

但是如果把TSr换成"SELECT * FROM TestDataTable WHERE Sr=0.45"就可以。我想可能是变量的问题,我把语句还成了"SELECT * FROM TestDataTable WHERE Sr=TSr"也不行,跟SELECT * FROM TestDataTable ORDER BY ABS(TSR-[Sr])一样,所以是不是SQL语句的格式写错了?
...全文
66 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
hefeigunfire 2003-08-20
  • 打赏
  • 举报
回复
楼上的误会了我的意思了,我应该把下面的敲上去:
m_pRecordset->Open("SELECT * FROM TestDataTable WHERE Sr=m_eSr", theApp.m_pConnection.GetInterfacePtr(),adOpenDynamic,
adLockOptimistic,adCmdText);
hefeigunfire 2003-08-20
  • 打赏
  • 举报
回复
用的ADO,语句如下:
m_pRecordset->Open("SELECT * FROM TestDataTable ORDER BY ABS(TSR-[Sr])", theApp.m_pConnection.GetInterfacePtr(),
adOpenDynamic,adLockOptimistic,adCmdText);
bluestar 2003-08-20
  • 打赏
  • 举报
回复
最好是这样
char sql[512];
sprintf (sql, "select * from testdatatable where st = %f", Tsr);//Tsr可以是任意待定的值
然后执行这条sql
hefeigunfire 2003-08-20
  • 打赏
  • 举报
回复
我的变量是double型的,加了中间变量,还是不行,运行时出现Runtime Error的错误
bolipan 2003-08-20
  • 打赏
  • 举报
回复
你看是不是要讲TSR这个变量UpdateData()(或者有可能是UpdateData()中参数中TRUE和FALSE的问题)后,再赋值给一个中间变量,然后在SQL语句中使用改中间变量代替你原来TSR。
hefeigunfire 2003-08-20
  • 打赏
  • 举报
回复
看来没人帮忙 自己结了吧

4,011

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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