一个十万火急的问题!请大家帮帮忙!

tinylion971 2002-12-17 10:55:50
近日正在做程序移植工作
把 原来用的 Tquery控件替换成 ADOquery控件,遇到如下问题

编译语句
ParamByName('Cond1').asstring:=CboContractID1.Text;
ParamByName('Cond3').AsDateTime:=StartDate;

编译提示 Undeclared identifier: 'ParamByName'

a)查了ParamByName的帮助
改成
Parameters.ParamByName('Cond1').asstring:=CboContractID1.Text;
Parameters.ParamByName('Cond3').AsDateTime:=StartDate;
编译提示 Undeclared identifier: 'asstring'
Undeclared identifier: 'AsDateTime'

再改成 Parameters.ParamByName('Cond1').value:=CboContractID1.Text;
Parameters.ParamByName('Cond3').value:=StartDate;
这次编译成功了
可是又出现
[Hint] InquireQuality.pas(202): Variable 'Cond1' is declared but never used in 'TInquireQualityFm.BitBtn1Click'等字样

其中 cond1,cond3我定义为string
StartDate定义为Tdatetime


那么 在 ADOQuery 控件里用哪种写法才能替代TQuery里面语句的作用呀?

请大家教我!正在赶工期,很急的哦
...全文
27 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
delme_now 2002-12-18
  • 打赏
  • 举报
回复
Parameters[0].values := ........;
Parameters[1].values := ........;
Parameters[2].values := ........;
Parameters[3].values := ........;
pengdali 2002-12-17
  • 打赏
  • 举报
回复
88
tinylion971 2002-12-17
  • 打赏
  • 举报
回复
没办法了,宿舍要熄灯了
我也只有晚上上两个小时的网
先谢你了,明天我先仔细研究看看
pengdali 2002-12-17
  • 打赏
  • 举报
回复
你showmessage(datetimetoStr(StartDate));//看看对吗?????????

///////快我要走了!
tinylion971 2002-12-17
  • 打赏
  • 举报
回复
原程序:
StartDate := EncodeDate(StrToInt(CboYy.Text), StrToInt(CboMm.Text), StrToInt(CboDd.Text));
pengdali 2002-12-17
  • 打赏
  • 举报
回复
with DataM.IntegrationConQuery do
begin
Close;
SQL.Clear;
SQL.Add('Select * From '+CboOreName.Text+'_IntegrationCon'+' Where '+QueryStr);
showmessage(SQL.CommaText);//你检查一下对吗??
if CheckBox1.Checked=true then
begin
ParamByName('Cond1').asstring:=CboContractID1.Text;
ParamByName('Cond2').asstring:=CboContractID2.Text;
end;
if CheckBox3.Checked=true then
ParamByName('Cond5').asstring:=CboOffer.Text;
if CheckBox2.Checked=true then
begin
ParamByName('Cond3').AsDateTime:=StartDate;
ParamByName('Cond4').AsDateTime:=EndDate;

end;
if CheckBox4.Checked=true then
ParamByName('Cond6').asstring:=CboSend.Text;
open;
end;
pengdali 2002-12-17
  • 打赏
  • 举报
回复
是从edit控件来的吗?还是TDateTimePicker???
tinylion971 2002-12-17
  • 打赏
  • 举报
回复
procedure TInquireQualityFm.BitBtn1Click(Sender: TObject);
var
QueryStr, Cond1, Cond2, Cond3, Cond4, Cond5, Cond6: string;
StartDate, EndDate: TDateTime;

这是变量的定义
pengdali 2002-12-17
  • 打赏
  • 举报
回复
StartDate是什么类型??是文本吗?还是TDatetime??
是从edit控件来的吗?还是TDateTimePicker???
tinylion971 2002-12-17
  • 打赏
  • 举报
回复
不行呀,我用的是ADOQuery,照下面的写法
ParamByName('Cond1').asstring:=CboContractID1.Text;

编译就会提示 Undeclared identifier: 'ParamByName'
我把部分原程序贴出来,帮忙分析一下
其中cond1-cond6我定义为string;
StartDate,EndDate定义为TDatetime

with DataM.IntegrationConQuery do
begin
Close;
SQL.Clear;
SQL.Add('Select * From '+CboOreName.Text+'_IntegrationCon'+' Where '+QueryStr);
if CheckBox1.Checked=true then
begin
ParamByName('Cond1').asstring:=CboContractID1.Text;
ParamByName('Cond2').asstring:=CboContractID2.Text;
end;
if CheckBox3.Checked=true then
ParamByName('Cond5').asstring:=CboOffer.Text;
if CheckBox2.Checked=true then
begin
ParamByName('Cond3').AsDateTime:=StartDate;
ParamByName('Cond4').AsDateTime:=EndDate;

end;
if CheckBox4.Checked=true then
ParamByName('Cond6').asstring:=CboSend.Text;
open;
end;


pengdali 2002-12-17
  • 打赏
  • 举报
回复
ParamByName('Cond1').asstring:=CboContractID1.Text;
ParamByName('Cond3').AsString:=DatetimetoStr(StartDate);
pengdali 2002-12-17
  • 打赏
  • 举报
回复
ParamByName('Cond1').asstring:=CboContractID1.Text;
ParamByName('Cond3').AsDateTime:=StartDate.datetime;

22,206

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧