我使用了bde的tquery做了一個查詢:
with Query1 do
begin
close ;
sql.clear ;
sql.add('select * from jinput where (date>=:date) and (job_no=:job_no)') ;
params[0].value:=strtodate('01/01/2004') ;
params[1].value:=d.fieldbyname('job_no').Value ;
prepare ;
open ;
end ;
運行時出錯: 'Invaild use of keyword Token: date>=?) Line number: 1'說明: jinput表是clipper的表,date是這個表的一個字段名.
本來只需要select * from jinput where job_no=:job_no,不需要加日期限制,但是考慮到該表有6萬條記錄,查詢太慢,為了提高速度,才加上的,還沒來的及驗證是否會真的提高速度,程序就出錯了,現請高手幫忙解決:
1. 出錯的原因是甚麼.
2. 提高查詢速度還有其他好的辦法嗎?
with Query1 do
begin
close ;
sql.clear ;
sql.add('select * from jinput where (date>=:date) and (job_no=:job_no)') ;
params[0].value:=strtodate('01/01/2004') ;
params[1].value:=d.fieldbyname('job_no').Value ;
prepare ;
open ;
end ;
運行時出錯: 'Invaild use of keyword Token: date>=?) Line number: 1'說明: jinput表是clipper的表,date是這個表的一個字段名.
本來只需要select * from jinput where job_no=:job_no,不需要加日期限制,但是考慮到該表有6萬條記錄,查詢太慢,為了提高速度,才加上的,還沒來的及驗證是否會真的提高速度,程序就出錯了,現請高手幫忙解決:
1. 出錯的原因是甚麼.
2. 提高查詢速度還有其他好的辦法嗎?
解决方案 »
- Delphi 线程问题啊???
- 做服务程序遇到的问题.为什么启动一下之后,什么也没有呢?
- 一个初级的查询问题
- 如何控制一个用户多处登录?我想让一个用户同时只能登录一个。。。。
- 程序运行到一半时,在任务管理器看到其显示为未响应,此时CPU占用为0.请问这都有可能是什么原因造成的.
- 請高手指点:有没有关于用DELPHI来开发opengl的例子的书籍,请给小弟指点一下
- 刚跟女朋友分手,心情郁闷到底。散分,以后靠大家照应了~~
- 可以子窗体左右下突破主窗体,但不能向上突破,怎么做到?
- 如何捕获子线程中的Exception
- 又来请教一个打印的问题。。。
- 关于string类型到datetime类型的转换问题??急用
- listview是vsReport时,当listview得到焦点时如何让第一行为选中状态?
sql.add('select * from jinput where (date>=:date) and (job_no=:job_no)') ;
params[0].value:=strtodate('01/01/2004') ; //这句有问题sql语句中涉及到日期的写法: today >= '01/01/2004' ,日期是用单引号括起来字符串。
params[0].value:=strtodate('01/01/2004')应改为
params[0].value:=QuotedStr('01/01/2004'); //params[0]的数据类型应改为兼容字符串得类型