请教一个动态SQL语句编程的问题 |
尚未結案
|
zzmbeyond01
中階會員 發表:98 回覆:167 積分:53 註冊:2003-09-07 發送簡訊給我 |
各位大大:
请教一个动态SQL语句编程的问题。
我有两个表:
A表 字段 ZLH03
B表 字段 DH02, ZLH03(外键)
A与B是一对多的关系。 我要实现的功能是:
Listbox中存放ZLH03的值,在treeview中以所选的ZLH03的值为根节点,对应的DH02值为子节点。
比如当我在listbox中点击字段ZLH03的值1时,实现在treeview中显示以1为根节点,相对应的DH02的值为子节点。
现遇到问题是,当我无论点击listbox中的那个值,显示的dh02的结果都一样,好像在我得adoquery控件中的动态参数,没起作用一样。 FH_FDQuery连接的B表,sql为select t.dh02 from B t where zlh03 =:ZLH03
procedure TDataBGForm.ZLDBListBoxClick(Sender: TObject); var i: Integer; s: string; begin i := ZLDBListbox.ItemIndex; if i <= 0 then exit; s := ZLDBListBox.Items.Strings[i]; UpdateTreeview(s); end; //在treeview中以所选的ZLH03的值为根节点,对应的DH02值为子节点 procedure TDataBGForm.UpdateTreeview(ZLH: string); var root: TTreeNode; temp: string; begin FH_FDTreeview.Items.Clear; root := FH_FDTreeview.Items.Add(nil, ZLH); //以选择的zlh值为根节点 DataBGDM.FH_FDQuery.Parameters.ParamByName('ZLH03').Value := ZLH; 感觉应该是这的问题,或者是adoquery的sql那里写的不对 showmessage(DataBGDM.FH_FDQuery.Parameters.ParamByName('ZLH03').Value); //显示zlh03的值 showmessage(DataBGDM.FH_FDQuery.SQL.CommaText); //显示sql语法 with DataBGDM.FH_FDQuery do begin Prepared := true; open; //把DH02中的值添加到树,作为ZLH03的子节点 First; while not DataBGDM.FH_FDQuery.Eof do begin temp := DataBGDM.FH_FDQuery.Fields.DataSet.FieldValues['DH02']; FH_FDTreeView.Items.AddChild(root, TEMP); DataBGDM.FH_FDQuery.Fields.DataSet.Next end; prepared := false; Close; end; end;谢谢! 發表人 - zzmbeyond01 於 2004/03/04 14:43:41 |
zzmbeyond01
中階會員 發表:98 回覆:167 積分:53 註冊:2003-09-07 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |