急!急!急! 现有两张表:问题(题干)表a和选项(答案)表b通过共有字段Link_id连接,相当与主从表现在题干通过Dbgrid显示,而选项(答案)要动态地在Radiogroup中创建。实现鼠标双击任意一题干时,在右边的Radiogroup中显示相对应的选项(答案)。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 要2个记录集,第一个记录集直接由DBGrid显示,第二个记录集动态加在RadioGroup中的items中。这2个记录集是主从关系。 不用啊,既然已经有连接了,那么就会自动的显示了。你可以先在左边隐藏dbgrid,当点击时再显示出来就可以了,你没有把问题说明白。 procedure Tfrm_shuru.wwDBGrid1DblClick(Sender: TObject);// a_sql= 'select * from Tab_question_dt ';var sql:string;begin inherited; Adoquery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add(a_sql); ADOQuery1.Open; sql := sql + ' Link_id = ''' + Dm_wenjuan_shuru.Ads_wenjuan_shuru_dt1Link_id.AsString + ''''; sql := a_sql + ' where ' + sql; Adoquery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add(sql); ADOQuery1.Open; wwRadioGroup1.Items.Clear; wwRadioGroup1.Items.Add(''); while not ADOQuery1.Eof do begin wwRadioGroup1.Items.Add(trim(ADOQuery1.FieldByName('Anwser').AsString)); ADOQuery1.Next; end; ADOQuery1.Close;end; 上面的有点错误是:procedure Tfrm_shuru.wwDBGrid1DblClick(Sender: TObject);// a_sql= 'select * from Tab_question_dt ';var sql:string;begin inherited; sql := sql + ' Link_id = ''' + Dm_wenjuan_shuru.Ads_wenjuan_shuru_dt1Link_id.AsString + ''''; sql := a_sql + ' where ' + sql; Adoquery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add(sql); ADOQuery1.Open; wwRadioGroup1.Items.Clear; wwRadioGroup1.Items.Add(''); while not ADOQuery1.Eof do begin wwRadioGroup1.Items.Add(trim(ADOQuery1.FieldByName('Anwser').AsString)); ADOQuery1.Next; end; ADOQuery1.Close;end; 上面的代码执行后得到的是:只显示第一个题干的答案选项如果把sql改为 sql := sql + ' Link_id like ''%' + Dm_wenjuan_shuru.Ads_wenjuan_shuru_dt1Link_id.AsString + '%'''; sql := a_sql + ' where ' + sql;代码执行后:将显示所有的题干的答案选项 上面的代码执行后得到的是:只显示第一个题干的答案选项如果把sql改为 sql := sql + ' Link_id like ''%' + Dm_wenjuan_shuru.Ads_wenjuan_shuru_dt1Link_id.AsString + '%'''; sql := a_sql + ' where ' + sql;代码执行后:将显示所有的题干的答案选项 DELPHI7编写的程序支持unicode 吗?有没有能使之支持unicode字符的控件呢? 怎么样写打印几份Execl表 Delphi中怎样判断EXCEL表格中的记录总数? 如何往TreeView1.Items[2].Data中存入和取出一个整数? 原用TABLE,现改用Query相应语句该如何改? 如何动态改变WinXP的墙纸? mdi窗口的问题!你来看看! 今天google的入口是哪? 如何在Edit中判断光标是否是在字符串的末尾? 一个非专业问题,非女性请勿入... 如何讓delphi窗體顯示在任務欄上? 简单问题!!
你可以先在左边隐藏dbgrid,当点击时再显示出来就可以了,
你没有把问题说明白。
// a_sql= 'select * from Tab_question_dt ';
var sql:string;
begin
inherited;
Adoquery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(a_sql);
ADOQuery1.Open; sql := sql + ' Link_id = ''' + Dm_wenjuan_shuru.Ads_wenjuan_shuru_dt1Link_id.AsString + '''';
sql := a_sql + ' where ' + sql;
Adoquery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(sql);
ADOQuery1.Open;
wwRadioGroup1.Items.Clear;
wwRadioGroup1.Items.Add('');
while not ADOQuery1.Eof do
begin
wwRadioGroup1.Items.Add(trim(ADOQuery1.FieldByName('Anwser').AsString)); ADOQuery1.Next;
end;
ADOQuery1.Close;end;
是:procedure Tfrm_shuru.wwDBGrid1DblClick(Sender: TObject);
// a_sql= 'select * from Tab_question_dt ';
var sql:string;
begin
inherited;
sql := sql + ' Link_id = ''' + Dm_wenjuan_shuru.Ads_wenjuan_shuru_dt1Link_id.AsString + '''';
sql := a_sql + ' where ' + sql;
Adoquery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(sql);
ADOQuery1.Open;
wwRadioGroup1.Items.Clear;
wwRadioGroup1.Items.Add('');
while not ADOQuery1.Eof do
begin
wwRadioGroup1.Items.Add(trim(ADOQuery1.FieldByName('Anwser').AsString)); ADOQuery1.Next;
end;
ADOQuery1.Close;end;
如果把sql改为 sql := sql + ' Link_id like ''%' + Dm_wenjuan_shuru.Ads_wenjuan_shuru_dt1Link_id.AsString + '%''';
sql := a_sql + ' where ' + sql;
代码执行后:将显示所有的题干的答案选项
如果把sql改为 sql := sql + ' Link_id like ''%' + Dm_wenjuan_shuru.Ads_wenjuan_shuru_dt1Link_id.AsString + '%''';
sql := a_sql + ' where ' + sql;
代码执行后:将显示所有的题干的答案选项