to chechy(为程序而奋斗) 还是不行。 query的sql语句是: select a.bh as bm,xh,xm,ksh,rxrq,jtdz as txdz,jtyzbm as yzbm,b.bh as bh,bmc,kcdm, kcmc,xss,xq,ksfsdm,ksfs,cj,cjmc,bk1,bk1mc,bk2,bk2mc,ksrq,bk1rq,bk2rq,bz from jbqka10615 as a left outer join score as b on a.xh=score.xh where a.bh=:name and bmc=a.bh我要更新数据集,更新部分代码如下:while not data.qryScore.Eof do with data.qryScore do begin Edit; FieldValues['id']:=id; //id是一个定值 FieldValues['bh']:=data.qryCourse.FieldValues['bh']; FieldValues['bmc']:=data.qryCourse.FieldValues['bm']; FieldByName('kcdm').Value:=data.qryCourse.FieldByName('kcdm').Value; FieldByName('kcmc').Value:=data.qryCourse.FieldByName('kcmc').Value; FieldByName('xh').Value:=data.qryCourse.FieldByName('xh').Value; FieldByName('ksh').Value:=data.qryCourse.FieldByName('ksh').Value; FieldByName('xm').Value:=data.qryCourse.FieldByName('xm').Value; FieldByName('xss').Value:=data.qryCourse.FieldByName('xss').Value; FieldByName('xq').Value:=data.qryCourse.FieldByName('xq').Value; FieldByName('ksfsdm').Value:=data.qryCourse.FieldByName('ksfsm').Value; FieldByName('ksfs').Value:=data.qryCourse.FieldByName('ksfs').Value; FieldByName('txdz').Value:=data.qryCourse.FieldByName('txdz').Value; FieldByName('yzbm').Value:=data.qryCourse.FieldByName('yzbm').Value; FieldByName('rxrq').AsDateTime:=data.qryCourse.FieldByName('rxrq').AsDateTime ; Post; Next; end; end;
如果要更新数据库的话还要添加一个TUpdateSQL控件并设置相应的SQL语句,然后设置TQuery的UpdateObject属性.
2、或者设置TQuery的RequestLive=true;1
我在query中建立了一个计算字段,其值为数据记录的序号,除此之外还建sql中选出的所有字段加为永久字段,但是query查询出的数据集怎么是只读的(我的查询涉及两个表,使用外连接查询)
还是不行。
query的sql语句是:
select a.bh as bm,xh,xm,ksh,rxrq,jtdz as txdz,jtyzbm as yzbm,b.bh as bh,bmc,kcdm,
kcmc,xss,xq,ksfsdm,ksfs,cj,cjmc,bk1,bk1mc,bk2,bk2mc,ksrq,bk1rq,bk2rq,bz from jbqka10615 as a left outer join score as b on
a.xh=score.xh where a.bh=:name and bmc=a.bh我要更新数据集,更新部分代码如下:while not data.qryScore.Eof do
with data.qryScore do
begin
Edit;
FieldValues['id']:=id; //id是一个定值
FieldValues['bh']:=data.qryCourse.FieldValues['bh'];
FieldValues['bmc']:=data.qryCourse.FieldValues['bm'];
FieldByName('kcdm').Value:=data.qryCourse.FieldByName('kcdm').Value;
FieldByName('kcmc').Value:=data.qryCourse.FieldByName('kcmc').Value;
FieldByName('xh').Value:=data.qryCourse.FieldByName('xh').Value;
FieldByName('ksh').Value:=data.qryCourse.FieldByName('ksh').Value;
FieldByName('xm').Value:=data.qryCourse.FieldByName('xm').Value;
FieldByName('xss').Value:=data.qryCourse.FieldByName('xss').Value;
FieldByName('xq').Value:=data.qryCourse.FieldByName('xq').Value;
FieldByName('ksfsdm').Value:=data.qryCourse.FieldByName('ksfsm').Value;
FieldByName('ksfs').Value:=data.qryCourse.FieldByName('ksfs').Value;
FieldByName('txdz').Value:=data.qryCourse.FieldByName('txdz').Value;
FieldByName('yzbm').Value:=data.qryCourse.FieldByName('yzbm').Value;
FieldByName('rxrq').AsDateTime:=data.qryCourse.FieldByName('rxrq').AsDateTime ;
Post;
Next;
end;
end;
RequestLive:True;CacheUpdate:True;UpdateObject连接一个UpdateSQL,然后再UpdateSQL中设置提交的SQL语句。
这样一定可以,如果不可以,那么你错了。
CacheUpdate改为True