请大侠帮忙,关于delphi7 SQL的数据表数据插入insert有关问题
请大侠帮忙,关于delphi7 SQL的数据表数据插入insert问题
我是想将AllMember表(字段Fnumeric,stuNo,sex,Fgroup,Fclass,Fgrade,Fmajor,Fmaster,studytype,text1,text2,text3)中的数据(注:这些字段在AllMember表都是有数据的) 插入到
SignResult表(字段Fnumeric,stuNo,sex,Fgroup,Fclass,Fgrade,Fmajor,Fmaster,studytype,text1,text2,text3)中。
其中假如SignResult表的其他字段(cardnum,name,datetime)已经有10个数据记录值了,而上述要求字段值为空。
SQL的语句 insert into SignResult(Fnumeric,stuNo,sex,...) value(value1,value2,value3,...)
因为两个表都有大量数据记录,不可能将所有值都具体列出来,所以我用
value1用ADAllMember.FieldByName('Fnumeric').Value等,value2,...,以此类推。
编译时报错,
请问大侠如何写将AllMember表的这些数据插入到SignResult表中? insert语句应该怎么写?
------解决方案--------------------
用insert into select来插入啊
比如:
insert into SignResult(Fnumeric, stuNo,.......) select Fnumeric,stuNo,sex,.... from AllMember
------解决方案--------------------
不大理解,请写出编译错讯。
------解决方案--------------------
楼主:报什么错?
你的思路好像没问题。
我是想将AllMember表(字段Fnumeric,stuNo,sex,Fgroup,Fclass,Fgrade,Fmajor,Fmaster,studytype,text1,text2,text3)中的数据(注:这些字段在AllMember表都是有数据的) 插入到
SignResult表(字段Fnumeric,stuNo,sex,Fgroup,Fclass,Fgrade,Fmajor,Fmaster,studytype,text1,text2,text3)中。
其中假如SignResult表的其他字段(cardnum,name,datetime)已经有10个数据记录值了,而上述要求字段值为空。
SQL的语句 insert into SignResult(Fnumeric,stuNo,sex,...) value(value1,value2,value3,...)
因为两个表都有大量数据记录,不可能将所有值都具体列出来,所以我用
value1用ADAllMember.FieldByName('Fnumeric').Value等,value2,...,以此类推。
编译时报错,
请问大侠如何写将AllMember表的这些数据插入到SignResult表中? insert语句应该怎么写?
------解决方案--------------------
用insert into select来插入啊
比如:
insert into SignResult(Fnumeric, stuNo,.......) select Fnumeric,stuNo,sex,.... from AllMember
------解决方案--------------------
不大理解,请写出编译错讯。
------解决方案--------------------
楼主:报什么错?
你的思路好像没问题。
- Delphi(Pascal) code
with ADSAir do begin Close; CommandText := SQLAirRefund; //查询的SQL语句,所有要导入的数据 Open; First; InitProgress(ADSAir.Recordset.RecordCount); J := 1; while not Eof do begin FieldName1:= ''; FieldName2 := ''; FieldName3 := ''; FieldName1 := Trim(ADSAir.FieldByName('FieldName1').AsString); FieldName2 := trim(ADSAir.FieldByName('FieldName2').AsString); FieldName3 := trim(ADSAir.FieldByName('FieldName3').AsString); SQLInsert := ' Insert into tbl(FieldName1,FieldName2,FieldName3) values('''+trim(FieldName1)+''','''+trim(FieldName2)+''', '''+trim(FieldName3)+''') '; try with ADOCmd do begin CommandText := SQLInsert; Execute; end; except on E: Exception do begin SaveDIYLog(E.Message,'err.txt',True); SaveDIYLog(SQLInsert,'err.txt',True); end; end; end; J := J +1; Next; end; end;
------解决方案--------------------