delphi Treeview 与数据库问题

来源:百度知道 编辑:UC知道 时间:2024/06/28 21:40:33
//代码如下,问题是我运行的时候它都跳出 where以后的关键字not found,ADO确定开了,并且能用,是不是TreeView树与ADO的配合问题?

procedure TFormNewRecord.TreeView1Click(Sender: TObject);
begin
if Assigned(Treeview1.Selected) and (Treeview1.Selected.Level = 2 ) then
begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * from materials where fulei=:materialname and zilei=:mname');
ADOQuery1.Parameters.ParamByName('fulei').Value:=TreeView1.Selected.Parent.Text;
ADOQuery1.Parameters.ParamByName('zilei').Value:=TreeView1.Selected.Text;
ADOQuery1.Open;

Edit1.Text:=ADOQuery1.FieldByName('mname').AsString;
Edit2.Text:=ADOQuery1.FieldByName('materialnature').AsString;
Edit3.Text:=ADOQuery1.FieldByName('materialunit').AsString;
Edit4.Text:=ADOQuery1.FieldByName('materialprice').AsString;
Edit5.Text:=ADOQuery1.FieldByName('materialcompany').AsString;
Memo1.Text:=ADOQuery1.Fiel

ADOQuery1.Parameters.ParamByName('fulei').Value:=TreeView1.Selected.Parent.Text;
ADOQuery1.Parameters.ParamByName('zilei').Value:=TreeView1.Selected.Text;
>>>
ADOQuery1.Parameters.ParamByName('materialname').Value:=TreeView1.Selected.Parent.Text;
ADOQuery1.Parameters.ParamByName('mname').Value:=TreeView1.Selected.Text;
//materialname,mname是参数,fulei,zilei是字段名

---------------------------------------------------------------------
如果materialname,mname是数据库字段,fulei,zilei只是一个变量
ADOQuery1.SQL.Add('select * from materials where fulei=:materialname and zilei=:mname');
改为
ADOQuery1.SQL.Add('select * from materials where materialname=:fulei and mname=:zilei');