我关联查询两个表中的记录,为什么总提示“未制定的错误”?(100分)

  • 主题发起人 主题发起人 dreameast-1
  • 开始时间 开始时间
D

dreameast-1

Unregistered / Unconfirmed
GUEST, unregistred user!
我关联查询两个表中的记录,为什么总提示“未制定的错误”?
数据库为access,且check ,clbm两表设置关联,关联字段为moldname
程序如下:
procedure Tform1.Button1Click(Sender: TObject);
begin
adoquery1.Close;
adoquery1.sql.clear;
adoquery1.SQL.Add('select check.moldcode,clbm.moldname,clbm.size,check.仓库,check.库存数量,check.库存单价,check.库存金额 from check,clbm');
adoquery1.sql.add('where check.moldcode=clbm.moldcode and');
adoquery1.sql.add('((clbm.moldcode='''+trim(edit1.text)+''')or');
adoquery1.sql.add('(clbm.拼音编码='''+trim(edit2.text)+''')or');
adoquery1.sql.add('(check.仓库='''+combobox1.text+''')');
adoquery1.open;
end;
 
你是编译的时候不通过,还是执行时候出的错?
你的where与前面的表名有空格没,那些or与括号都空一个格,把引用的字段用quotedstr,试试.
 
执行时候出的错
怎么把引用的字段用quotedstr,能否举例说明一下,我不太懂,多谢您了!!
 
procedure Tform1.Button1Click(Sender: TObject);
begin
adoquery1.Close;
adoquery1.sql.clear;
adoquery1.SQL.Add('select check.moldcode,clbm.moldname,clbm.size,check.仓库,check.库存数量,check.库存单价,check.库存金额 from check,clbm');
adoquery1.sql.add('where check.moldcode=clbm.moldcode');
adoquery1.sql.add('AND clbm.moldcode='''+trim(edit1.text)+'''');
adoquery1.sql.add('OR clbm.拼音编码='''+trim(edit2.text)+'''');
adoquery1.sql.add('OR check.仓库='''+combobox1.text+'''');
adoquery1.open;
end;
 
按楼上修改后,又提示“参数check.moldcode没有默认值”
 
其实是clbm表中的字段size为关键字所致
 
后退
顶部