用adoconnection 作为数据库连接 ,adoquery 来查询。
查询语句select * from .. where ..=.. and ..=..
查不出来。可是我用select * from不加任何条件就可以查出来。
经过仔细看代码,条件的确没有弄错。
ado 有没有这方面的bug ?
查询语句select * from .. where ..=.. and ..=..
查不出来。可是我用select * from不加任何条件就可以查出来。
经过仔细看代码,条件的确没有弄错。
ado 有没有这方面的bug ?
你如果在"="号后用变量的话,一定要加一个空格,否则就错了
例如: select * from table1 where col1 = :var1 and col2 = :var2
没有参数的话,如果用的是SQLServer数据库,可以到SQLServer数据库里检验你的SQL语句对否。或者把Where语句中的条件全删了,然后一个个的加上去,看谁有问题。
我真的遇到过,只是我不记得是ADO还是BDE了
当时让我纳闷了半天,最后问一个同事说要我加个空格看看,
就这好了
所以现在我写程序都喜欢在符号的两边加空格(原来从来没这个习惯)
因为大部分时候是好使的,只有偶尔出现我说的情况。
条件语句中类似这样的(begindatetime +duration/86400)= #2003-07-06 10.10.50#,
给我去掉了,
我在delphi语句中进行这样的检测,就对了。
这说明:(begindatetime +duration/86400)= #2003-07-06 10.10.50#,不一定好使。
来着都有分。
过2天再结账。有想法照样提,多谢。
其实这类问题很好调试的,具体的方法就是在运行的时候把SQL代码贴出来到查询分析器中看看执行结果