数据库方面的一个问题 (高分送)(100分)

  • 主题发起人 主题发起人 wangsangwu
  • 开始时间 开始时间
W

wangsangwu

Unregistered / Unconfirmed
GUEST, unregistred user!
我现在要从表Hydro_info 中把字段hydro_Price 读出来 条件是表的另一个字段hydro_name必须等于
我定义数组并已赋值的数组Plant_Name 我使用的是AdoQuery 并使用啦Filter和Filtered属性
代码如下:
var i:integer;
name:string;

begin
ADOQ_HydroInfo.Filtered:=False;//ADOQ_HydroInfo为Adoquery控件名
ADOQ_HydroInfo.Active:=False;
ADOQ_HydroInfo.Close;
ADOQ_HydroInfo.SQL.Clear;
ADOQ_HydroInfo.SQL.Text:='Select Hydro_price from Hydro_Info order by Hydro_id';
ADOQ_HydroInfo.ExecSQL;
ADOQ_HydroInfo.Open;

for I:=1 to hydro_Numb do //hydro_Numb 为我得表的记录大小 也是我定义的数组Plant_name大小
begin
name:= Plant_name;
ADOQ_HydroInfo.Filtered:=False;
ADOQ_HydroInfo.Filter:='Plant_name='+''''+name+'''';
ADOQ_HydroInfo.Filtered:=True;
hydro_P_Price:=ADOQ_HydroInfo['hydro_price'];
end;
ADOQ_HydroInfo.Filtered:=False;
end;
总是出错 好像大概意思是item can not be found in the collection corresponding to
the requested name or ordinal
 
For循环中没有Next
 
不要定义变量名为name,因为窗体有个name属性,应改用其他的名字。
to NongMin:for循环用next干什么?
 
应该是name出错
 
同意HunterTeam不要定义变量名为name,要有好习惯不要使用可能有同delphi冲突的命名.
另外你应当跟踪一下,看错误是出在哪一条语句上.
 
这个问题我已经解决拉 ,在此感谢各位的帮忙,其实问题处在两个方面,一个是我得SQL语句有问题
'Select Hydro_price from Hydro_Info order by Hydro_id' 在这里我只读出啦Hydro_price 这一个字段
其实 我还要读出其他一些字段,另外 ,我使用的数据库的数据也有问题 ,数据不完整。
再次感谢大家的很好的建议!
 
后退
顶部