有两张表,表a有字段:code,name (即产品代码,产品名称)
表b有字段:code,stock,number(即产品代码,仓库,数量)
我想用一个dbgrid与adoquery1相连,在dbgrid中显示:
产品代码,产品名称,仓库,数量
这个SQL我不会写
另外,我想加记录进到表b中
就用这个adoquery1.insert吗?
会不会把记录同时加到表a表b中呀?我只想加到表b中
表b有字段:code,stock,number(即产品代码,仓库,数量)
我想用一个dbgrid与adoquery1相连,在dbgrid中显示:
产品代码,产品名称,仓库,数量
这个SQL我不会写
另外,我想加记录进到表b中
就用这个adoquery1.insert吗?
会不会把记录同时加到表a表b中呀?我只想加到表b中
insert时只要往b表insert即可
with adoquery1 do
begin
close;
sql.clear;
sql.add(select a.code,a.name,b.stock,b.number from a ,b where a.code=b.code ');
ExecSQL;
end;(2)
with adoquery1 do
begin
close;
sql.clear;
sql.add('insert into b values(codevalue,stock_value,number_value)');
ExecSQL;
end;
2 把数据集和数据源关联,
3 指定 dbgrid 的数据源是DSYourSource;
4 ADOQuery1.SQL := 'Select aa.code,aa.name,bb.stock,bb.number from a aa b bb where a.code=b.code '
5 ADOQuery1.Open;就可以了!
只能单独往 b 表中Insert;
只能单独往 b 表中Insert;怎么样只往b表中插入
2. insert into b values(code_value,stock_value,number_value)
select a.code,a.name,b.stock,b.number from 表a a left outer join 表b b on
a.code=b.code
with adoquery1 do
begin
close;
sql.clear;
sql.add(select a.code,a.name,b.stock,b.number from a ,b where a.code=b.code ');
open;//这里不要用这个啦ExecSQL;
end;(2)
with adoquery1 do
begin
close;
sql.clear;
sql.add('insert into b values(:codevalue,:stock_value,:number_value)');
ExecSQL;
end;
然后对这几个参数附值就可以了,如:
adoquery1.Parameters.ParamByName('ou').Value:=logf.OUID;
我是新手
如果我想dbgrid一直显示adoquery1的内容
另外,insert b表后,dbgrid也能及时反映出来,是否要
用二个adoquery?
也就是adoquery1与dbgrid相连
再:adoquery2.insert
再adoquery1.refresh
用两个adoquery是可以的。
insert b成功后,重新把adoquery1.open就可以了。
open前要close哟
表b有字段:code,stock,number(即产品代码,仓库,数量)
产品代码,产品名称,仓库,数量
Select Code ::adoquery1.sql.add(select a.code,a.name,b.stock,b.number from a join b on a.code=b.code where a.code="324" and .....);
adoquery.open;
Insert code::adoquery1.sql.add(Inert into b(code,stock,number) values("324","nnnn","2000"));
adoquery.excute;
sql楼上的写了
:)
另,cutedelphigirl(delphi女孩)
你说的是对的