有DBGrid1、DBGrid2,xxx为DBGrid1的DataSource
代码如下:
procedure TForm1.DataChange(Sender: TObject; Field: TField);
begin
with (Query2 as TADOQuery) do
begin
Close;
SQL.Clear;
SQL.Add('select * from '''+tablename2+''' where 编号='''+(Query1 as TADOQuery).fieldbyname('编号').AsString+'''');
Open;
end;
end;
事先定义了
tablename1:='表1';
tablename2:='表2';
Query1:=DM.findcomponent('b1');
Query2:=DM.findcomponent('b2');
把TForm1.xxxDataChange换成 TForm1.DBGrid1CellClick还是出错
错误提示'表2'附近语法错误
代码如下:
procedure TForm1.DataChange(Sender: TObject; Field: TField);
begin
with (Query2 as TADOQuery) do
begin
Close;
SQL.Clear;
SQL.Add('select * from '''+tablename2+''' where 编号='''+(Query1 as TADOQuery).fieldbyname('编号').AsString+'''');
Open;
end;
end;
事先定义了
tablename1:='表1';
tablename2:='表2';
Query1:=DM.findcomponent('b1');
Query2:=DM.findcomponent('b2');
把TForm1.xxxDataChange换成 TForm1.DBGrid1CellClick还是出错
错误提示'表2'附近语法错误
解决方案 »
- 主从表关联查询问题
- 用OpenPictureDialog怎么打开指定的文件夹???
- 在做一个城市公交查询系统 在做一个查询模块时以下代码时出错?
- 半月刊,发行日期为一个月中的任意两天。给任意的一个时间段,如何求出准确的发行期数(包括起止日期)。
- 小弟要用DEPHI作一个论坛程序(象联众那样),情各位高手给出编程思路!
- 大家帮帮忙!急...
- 急急急急急!!!!!!!!!!,Band里的内容过长,如何让它自动的分页???
- 如何编程使开始菜单中的"运行"和"关闭系统"项消失
- ccproject,画网络图,项目管理,请大家提意见,并奉送部分代码
- mediaplayer控件播放网络视频
- 【菜鸟100分】循环问题
- delphi程序能否控制rave报表,让条码自动生成?
dbgrid2 dataset为ADODataSet2procedure TForm1.DBGrid1CellClick(Column: TColumn);
begin
if self.ADODataSet1.IsEmpty then exit;
self.ADODataSet2.Close;
self.ADODataSet2.CommandText:='select * from table2 where xxx='+QuotedStr(self.ADODataSet1.fieldByName('xxx').AsString);
self.ADODataSet2.Open;
end;
注意SQL.Add('select * from '+tablename2+' where 编号='''+(Query1 as TADOQuery).fieldbyname('编号').AsString+'''');
table name 不能加引号
self.ADODataSet1.IsEmpty then exit我刚才没加,补充下:tablename2不是数据库中表的名字,而是String,其内容为表的名字
tablename2去掉引号