其中adotable1连接的是一个foxpro文件,adotable2是一个access文件,这个程序我运行成功国一次,以后我改了子段名就不能运行了。
adoTable1.First;
while not adoTable1.Eof do
begin
ADOTable2.Append;
ADOTable2.FieldByName('gzyy').AsString:='漏装';
ADOTable2.fieldbyname('gzwh').AsString:=adoTable1.fieldbyname('lz').AsString;
ADOTable2.fieldbyname('sl').AsInteger:=adoTable1.fieldbyname('lzsl').AsInteger;
ADOTable2.fieldbyname('jx').AsString:=adoTable1.fieldbyname('jx').AsString;
ADOTable2.fieldbyname('rq').value:=adotable1.fieldbyname('rq').asdatetime;
ADOTable2.fieldbyname('bz').AsString:=adoTable1.fieldbyname('bz').asstring;
ADOTable2.FieldByName('lx').AsString:='内部质量';
adoTable1.Next;
ADOTable2.post;end;
ShowMessage('你成功了') ;
adoTable1.First;
while not adoTable1.Eof do
begin
ADOTable2.Append;
ADOTable2.FieldByName('gzyy').AsString:='漏装';
ADOTable2.fieldbyname('gzwh').AsString:=adoTable1.fieldbyname('lz').AsString;
ADOTable2.fieldbyname('sl').AsInteger:=adoTable1.fieldbyname('lzsl').AsInteger;
ADOTable2.fieldbyname('jx').AsString:=adoTable1.fieldbyname('jx').AsString;
ADOTable2.fieldbyname('rq').value:=adotable1.fieldbyname('rq').asdatetime;
ADOTable2.fieldbyname('bz').AsString:=adoTable1.fieldbyname('bz').asstring;
ADOTable2.FieldByName('lx').AsString:='内部质量';
adoTable1.Next;
ADOTable2.post;end;
ShowMessage('你成功了') ;
//这个地方是不是少了一句
//ADOTable2.Edit;
//因为在书上看的都这样写,所以这么说,也许没必要,请高手断言!
ADOTable2.FieldByName('gzyy').AsString:='漏装';
...................
ADOTable2.post;
adoTable1.Next;为什么不先提交再下移?
ADOTable2.edit;
ADOTable2.Append;
.
.
.
ADOTable2.FieldByName('lx').AsString:='内部质量';
ADOTable2.post;
adoTable1.Next;
试试看
也许与我老写ASP有关吧.我一般都这样写数据库程序,你可以参考一下,虽然有些老士,但是出了问题很好解决.
======================================================
rs := createoleobject('adodb.recordset');
sqlstr := 'select * from 支出信息';
connstr := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + ExtractFilePath(application.ExeName) +'data\data.mdb;Persist Security Info=False';
rs.open (sqlstr,connstr,3,3);
=============================================
procedure read_data() //读取数据
begin
xmmc.Text := rs.fields['支出类型'].value;
zcje.Text := rs.fields['支出金额'].value;
end;
=========================================
procedure update_data()
begin
rs.addnew;
rs.fields['支出类型'].value := xmmc.Text ;
rs.fields['支出金额'].value := zcje.Text ;
rs.update;
end;
===========================================
也可以这样做
rs.addnew;
rs.fields['支出类型'].value := ps.fields['支出方式'].value;
rs.update;
================================================
只要修改
connstr 的值就可以联接不同的数据库.
=================================================
只供参考,也许是愚见.请不要骂我^-^