DELPHI 中SQL查找语句问题 毕设要人命 在线等 感激不尽

ADOQuery1.SQL.Add('select * from caiwuzhichu where [日期]>=CAST(''Edit1.text'' AS int) OR [日期]<=CAST(''Edit2.text'' AS int) OR [部门]='''+ComboBox1.text+''''+' OR [支出人员]='''+Edit4.text+''''+' OR [统计人员]<='''+Edit3.text+'''');
肯定是日期那两个出错了因为删掉他们可以正常运行 请大神帮忙看一下

第1个回答  2014-04-24
你将语句定义为
string='select * from caiwuzhichu where [日期]>=CAST(''Edit1.text'' AS int) OR [日期]<=CAST(''Edit2.text'' AS int) OR [部门]='''+ComboBox1.text+''''+' OR [支出人员]='''+Edit4.text+''''+' OR [统计人员]<='''+Edit3.text+'''';

然后单步运行。
获取转义之后的sql语句

然后方法数据库中运行。这样就可以知道你的问题了。追问

我是在delphi里面直接运行的 [日期]>=CAST(''Edit1.text'' AS int)
就是这个的格式问题 其他都没有问题的 我想要的是Edit1.text和表里的日期(数字)进行比较 delphi显示的是未知错误

追答

我明白你的意思,

你没有我的意思。

我的意思是,这里有很多的符号,可能需要转换,而转换之后的sql语句与你本身的意思可能不同。所以需要你去单步测试一下。

从单步测试中获取sql语句
在到数据库中运行。 就能找到原因所在。

这样可以确定。1, sql本身有问题,
2. 程序中有问题,
当你明确是什么问题产生时就能很快获得答案。

追问

好吧 我是数据库菜鸟 首先不会单步测试诶 另外我用的是ACCESS 要是您方便的话 要不您直接帮忙测试一下这个句子吧 万分感谢

追答

呵呵。我这里没有access ,然后也没有数据库文件。我安装的是sql server。。你百度一下程序的单步测试。直接问sql语句比你这样问要好很多。

DELPHI 中SQL查找语句问题 毕设要人命 在线等 感激不尽
然后单步运行。获取转义之后的sql语句 然后方法数据库中运行。这样就可以知道你的问题了。

相似回答
大家正在搜