我使用如下代码进行多表查询,在DBGRIDEH中刷新修改增加均会报错,如何解决?(100分)

  • 主题发起人 主题发起人 心心
  • 开始时间 开始时间

心心

Unregistered / Unconfirmed
GUEST, unregistred user!
DM.ADOQuery1.SQL.Clear;
DM.ADOQuery1.SQL.Add('select 科室.科室代码,科室.科室名称,科室.科室人数,指标.核定结余,指标.岗位津贴,指标.卫生津贴,指标.夜班费,指标.加餐费,指标.扣发津贴,指标.备注 from 科室,指标 WHERE 科室.科室代码=指标.科室代码');
DM.ADOQuery1.Active := True;
DBGrid.DataSource := DM.QueryDS;
DBGrid.Visible := True;
DBGrid.Align := alClient;
 
当然,这个datasource似是个只读的视图
 
如何解决?
 
用TABLE吧,主从表
科室为主表,
指标为从表
指标的MASTDATESOURCE指定为科室的DATESOURCE
 
是的我同意nhjoy的说法
 
感觉心寒!居然表名,字段名全中文!
如果一定要用ADO,则只好用ADOTABLE解决了!
当然还有办法就是你可以把ADOQUERY控件的DATA传给一个CLIENTDATASET控件,修改后
把CLIENTDATASET控件的DELTA提交也是可以的!
 
刷新用 先关后开法,adoquery.close; adoquery.open
修改增加 直接用写sql 方法,
 
谢谢大家,平分了
 
后退
顶部