是下面这两句有问题吧:
parameters[1].value:=datetimepicker1.Datetime;
parameters[2].value:=datetimepicker2.datetime;
是不是两个参数的类型不正确,导致日期值没穿过去。或者检查存储过程中@Date1,@Date2的初始值,是不是值不对,导致循环没执行。
parameters[1].value:=datetimepicker1.Datetime;
parameters[2].value:=datetimepicker2.datetime;
是不是两个参数的类型不正确,导致日期值没穿过去。或者检查存储过程中@Date1,@Date2的初始值,是不是值不对,导致循环没执行。
解决方案 »
- 日期格式冲突的问题?
- 为什么我用ADO控件连Oracle,BLOB数据会引发数据类型不支持的错误?
- DbGrid控件中,如何将数值型数据格式变成成0.00的格式,请求帮助
- 如何实现DBGrid的单元格可以下拉选择?并且dbgrid的数据修改之后如何保存到数据库中?
- 编译时提示“[Fatal Error] Salary.dpr(9): File not found: 'crypt.dcu'”。
- 不支持UNICODE的程序如何使其支持中文?
- 请教:用wise install 制作安装工具的时候 bde 项怎么设置 我的数据库是 sql server2000
- delphi与数据库的连接及操作是怎么实现的?
- 如何控制ScrollBar
- 哪位老大對ComboBox組件比較熟?幫我看看
- Win 32开发人员参考库
- visibroker问题
parameters[2].asdatetime:=datetimepicker2.datetime;
AS declare @t datetime
select @t=@date1
delete from da_date
while @t<=@date2
begin
insert da_date ([goodsn],[impdat])
values(@goodsn,@t)
select @t=dateadd(day,1,@t)
endDELPHI中的调用:
with dm.ADOQuery1 do
begin
Close;
Sql.Clear;
Sql.Text := 'EXECUTE pro_delete(:goodsn,:date1,:date2)';
Parameters.ParamByName('goodsn').DataType := ftString;
Parameters.ParamByName('goodsn').Value := TRIM(Edit1.Text);
Parameters.ParamByName('Date1').DataType := ftDateTime;
Parameters.ParamByName('Date1').Value := DateTimePicker1.DateTime;
Parameters.ParamByName('Date2').DataType := ftDateTime;
Parameters.ParamByName('Date2').Value := DateTimePicker2.DateTime;
ExecSQL;
end;
过程里并不严格是这样的,可能是yyyy-mm-dd 这样就会出现一条记录都找不到的情况,也就不能添加了.
没有asdatetime的属性genphone_ru(票票):
我运行之后,系统报错说:Line1:incorrect syntax near @P1
可是我怎么也找不到参数@P1,这是怎么回事
测试过了,可以的!
不是的,不能运行,系统报错说,@P1, 可是我的程序和存储过程里都没有@P1
谢谢,已经可以了,为什么用ADOSTOREDPRO调用不可以,用ADOQUEYR就可以呢,12点结帐欢迎大家讨论
delete from da_date
while @t<=@date2 应该是:
set @t=@date1
delete from da_date
while OneDateTimeField<=@date2 and OneDateTimeField>= @t
吧
看看是不是设得不对...在设计期先看一看那几个Parameters,实在不行用
Parameters.ParamByName('@...').Value来做,别忘了前面加上@号
已经解决了,谢谢你,为什么用adostoredpro调用传递参数不行,要用adoquery才行呢,我12点结贴欢迎讨论
解释一下 OneDateTimeField的意思
按照我写的存储过程,你指的OneDatetimeField是什么
不懂,
追加50分,欢迎来讨论
我将迟点结贴
应该是可以的。
参数的类型我都是指定为DATETIME,
所有我觉得很奇怪,应该是很容易调用的一个存储过程为什么就是用adostroeproc调用不了
parameters.ParamByName('@d1').value:=datetimepicker1.Datetime;
parameters.ParamByName('@d2').value:=datetimepicker2.datetime;
一定得用parameters.ParamByName('@aa')赋值,这是奇怪