新问题,现有两个表
工种表’gongzhong’存放工种编号,名称,相关劳保用品,领用周期,字段gongzhongno,gongzhongname,laobaono1,lingyongzq1,laobaono2,lingyongzhouzq2,----laobaono13,lingyongzq13(假定:每个工种的劳动防护用品不超过13项)。
劳保用品表’laobao’,存放劳保用品编号,名称,字段:laobaono,laobaoname
现编制一个查询程序:通过dbgrid控件,将所有工种表展示给用户看,但是必须在显示时将’劳保用品编号’变成’劳保名称’,编制如下程序,编译正常,在工种表中现有一个’操作工’工种,相应劳保用品有,’工作服’,领用周期’3’个月,’工作帽’,领用周期,’1’个月,执行后查询发现显示从’劳保用品1’到’劳保用品13’全部为空,领用周期全部为空。请帮我看一下程序,逻辑上哪里有错,该如何改procedure TForm7.TabSheet4Show(Sender: TObject);
begin
 with datamodule2.gongzhongtable do
   begin
   active:=true;
   dbgrid3.DataSource:=datamodule2.queryDS;
   end;
   with datamodule2.Query1 do
   begin
   databasename:='laobao';
   datasource:=datamodule2.gongzhongDS;
   close;
   sql.Clear;
   sql.add('select gongzhong.gongzhongno as 工种编号,gongzhong.gongzhongname as 工种名称');
   sql.add(',laobao.laobaoname as 劳保用品1,gongzhong.lingyongzq1 as 领用周期1');
   sql.add(',laobao.laobaoname as 劳保用品2,gongzhong.lingyongzq2 as 领用周期2');
   sql.add(',laobao.laobaoname as 劳保用品3,gongzhong.lingyongzq3 as 领用周期3');
   sql.add(',laobao.laobaoname as 劳保用品4,gongzhong.lingyongzq4 as 领用周期4');
   sql.add(',laobao.laobaoname as 劳保用品5,gongzhong.lingyongzq5 as 领用周期5');
   sql.add(',laobao.laobaoname as 劳保用品6,gongzhong.lingyongzq6 as 领用周期6');
   sql.add(',laobao.laobaoname as 劳保用品7,gongzhong.lingyongzq7 as 领用周期7');
   sql.add(',laobao.laobaoname as 劳保用品8,gongzhong.lingyongzq8 as 领用周期8');
   sql.add(',laobao.laobaoname as 劳保用品9,gongzhong.lingyongzq9 as 领用周期9');
   sql.add(',laobao.laobaoname as 劳保用品10,gongzhong.lingyongzq10 as 领用周期10');
   sql.add(',laobao.laobaoname as 劳保用品11,gongzhong.lingyongzq11 as 领用周期11');
   sql.add(',laobao.laobaoname as 劳保用品12,gongzhong.lingyongzq12 as 领用周期12');
   sql.add(',laobao.laobaoname as 劳保用品13,gongzhong.lingyongzq13 as 领用周期13');
   sql.Add(' from gongzhong,laobao');
   sql.add('where gongzhong.laobaono1=laobao.laobaono and gongzhong.laobaono2=laobao.laobaono');
   sql.add('and gongzhong.laobaono3=laobao.laobaono and gongzhong.laobaono4=laobao.laobaono');
   sql.add('and gongzhong.laobaono5=laobao.laobaono and gongzhong.laobaono6=laobao.laobaono');
   sql.add('and gongzhong.laobaono7=laobao.laobaono and gongzhong.laobaono8=laobao.laobaono');
   sql.add('and gongzhong.laobaono9=laobao.laobaono and gongzhong.laobaono10=laobao.laobaono');
   sql.add('and gongzhong.laobaono11=laobao.laobaono and gongzhong.laobaono12=laobao.laobaono');
   sql.add('and gongzhong.laobaono13=laobao.laobaono');
   open;
   end;