我在delphi 7 中执行如下sql 数据库是access2000格式Select sum(TotalPrice) as SumPrice From VTotalPrice Where OrderDate between #2003-06-03 00:01:00# and #2003-06-03 23:59:59#报错:不正常的定义参数对象,提供了不一致或不完整的信息。我查阅了前面的提问,说 access在操作日期型数据的时候要加#,加上还是不对。其实我就是想得到某天金额的总和,access操作日期型数据怎么这么别扭??!!
解决方案 »
- 安装ExpressEditors Library 5时出现的问题!在现等待!紧急!
- 一个IMAGE控件的一个严重BUG高手能解决吗?(奇怪问题下集)
- 一个奇怪的问题,大家看看。
- 大家好!请问TToolBar里面ToolBotton的图标就不可以大一点吗?现在只可以16X16的。
- idsmtp如何发送邮件?
- Delphi中FileOpen等文件操作函数的问题
- 又遇到一个奇怪的问题:竟然是Parameter 'AutoID' not found?
- 怎么用画布画一个想按钮一样
- 两大问题
- Delphi 操纵Access时的DBMemo错误
- 为什么Lable组件中的字不能完全显示?
- InfoPower4000如何汉化?
这样呢?
不过建议最好用参数吧!
Select sum(TotalPrice) as SumPrice From VTotalPrice Where OrderDate between #2003-06-03 00:01:00# and #2003-06-03 23:59:59#是没有问题的。但是放到delphi 7里面却不行。代码如下: DBWin.RS1.Active:=false;
DBWin.RS1.CommandText:='Select sum(TotalPrice) as SumPrice From VTotalPrice Where OrderDate between #2003-06-03 00:01:00# and #2003-06-03 23:59:59#'
DBWin.RS1.Active:=true;
Edit6.Text:=DBWin.RS1.FindField('SumPrice').AsString;
如果是加總的話,應該是column1呀
你用的是甚麼控件?
我用query實現的時候,系統自動分配column1這個字段名的
DBWin.RS1.CommandText:='Select sum(TotalPrice) as SumPrice From VTotalPrice Where OrderDate between #2003-06-03 00:01:00# and #2003-06-03 23:59:59#';
DBWin.RS1.Active:=true;
Edit6.Text:=DBWin.RS1.FindField('SumPrice').AsString;我这么写错那里了??报错:不正常的定义参数对象,提供了不一致或不完整的信息。
DBWin.RS1.CommandText:='Select sum(TotalPrice) as SumPrice From VTotalPrice Where OrderDate > #6/2/2003 00:00# ';
DBWin.RS1.Active:=true;
RzEdit6.Text:=DBWin.RS1.FindField('SumPrice').AsString;
DBWin.RS1.Active:=false;这样也不行………………呜呜呜怎么办??!!
#2003-06-03# and #2003-06-04#得到的不就是2003-06-03的總和了
d_time:=DateTimePicker4.Date+StrToDateTime(' 23:59:59');//---结束时间
with Query2 do //---查询book_Lend里的记录!
begin
Close;
SQL.Clear;
SQL.Add('Select * from book_Lend where book_arrange Like :t1 and ((book_lend_date Between :t2 and :t3) or (Book_return_date between :t4 and :t5))');
Parameters[0].value:=a+'%';
Parameters[1].Value:=c_time;
Parameters[2].Value:=d_time;
Parameters[3].Value:=c_time;
Parameters[4].Value:=d_time;
Open;
b:=IntToStr(RecordCount);我程序里的一段你看看
'2003-06-03' and '2003-06-04'
SQL语句中用 WHERE 日期 >= #2003-4-13# AND 日期 <= #2003-6-19#
这样的语句是可行的