我在访问中有一个空表,并使用 SQL INSERT 语句添加数据。在我使用过程遍历表并使用 ADO 将所有值放入对象数组之后。
调试后,我可以看到该过程在表中找不到任何值,并说该表位于 EOF 并且没有从表中提取任何值。
但是,如果我终止我的应用程序(关闭程序)并再次运行它,它似乎已经“插入”并“保存”了访问中的表,然后确实在表中找到值并使用 ADO 提取它,并将其插入到对象数组。
不知何故,我需要通过delphi“保存”访问数据库
//inserts the new(first and following) records
begin
qryVote.Active := False;
qryVote.SQL.Text := 'insert INTO tblkandidate ([Leerder nr],Van,Naam,geboortedatum,[id nr],geslag,[sel nr],debietpunte,voogklas,deelname,stemme) VALUES ("'+leerdernr+'","'+van+'","'+naam+'",#'+gebdatum+'#,"'+idnr+'","'+geslag+'","'+selnr+'",'+inttostr(debiete)+',"'+voogklas+'","'+booltostr(bsport)+'",'+inttostr(stemme)+') ';
qryVote.ExecSQL;
qryVote.SQL.Text := 'select * from tblkandidate';
qryVote.Active := true;
KandidateNaSkik; //procedure that goes through the table and puts every record into the array of objects (see below foe precedure)
showmessage('Jou pesoonlike data is gestoor');
end;
procedure Tfrmvote.KandidateNaSkik;
var
leerdernr,naam,van,idnr,selnr,voogklas,gebdatum,geslag : STRING;
stemme, debiete: integer;
bsport, gestem : boolean;
begin
frmvote.ADOTableVotek.open;
with dbgviewp.DataSource.DataSet do
begin
frmvote.ADOTableVotek.first;
iaantkan :=0;
while not frmvote.ADOTableVotek.EOF do
begin
inc(iaantkan);
leerdernr := frmvote.ADOTableVotek['LEERDER NR'];
van := frmvote.ADOTableVotek['VAN'];
naam := frmvote.ADOTableVotek['NAAM'];
gebdatum := frmvote.ADOTableVotek['geboortedatum'];
idnr := frmvote.ADOTableVotek['id nr'];
geslag := frmvote.ADOTableVotek['geslag'];
selnr := frmvote.ADOTableVotek['sel nr'];
debiete := frmvote.ADOTableVotek['debietpunte'];
voogklas := frmvote.ADOTableVotek['voogklas'];
bsport := frmvote.ADOTableVotek['deelname'];
stemme := frmvote.ADOTableVotek['stemme'];
gestem := frmvote.ADOTableVotek['gestem'];
//the above variables get sent to the array below
arrkandidaat[iaantkan] := tVerkiesing.create(leerdernr, van, naam,
gebdatum,idnr,geslag,selnr,debiete,voogklas,bsport,gestem,stemme);
frmvote.ADOTableVotek.Next;
end;{while}
end;{with}
end;