からテキストファイルにtblDeelnemers
データをコピーしようとしていますdbDeelnemers
Deelnemers.txt
テーブルには、ID、Naam、van、kontaknommer の 4 つの列が含まれています。フォームに TADOQuery とdbGrid があります。Microsoft AccessとDelphi 7を使用しています。
私は可能な方法を探していますが、私が得ることができる唯一の助けはC#です。
ボタンがクリックされたときに、後でこのテキストファイルを呼び出したい。保存されたデータの形式は問題ではありません。それをデータセットにロードできるようにする必要があるだけです。この「インポート」の後、テーブルからのデータが最初から削除されるため、このようにしています
次のことを試しましたが、完全に間違っています。
var
sDeelnemers : string;//string to copy data in before adding to textfile
Begin // sIDkies is global string
frmData.qryVGKompetisieDB.Active := false;
frmData.qryVGKompetisieDB.SQL.Text := 'copy ID, Naam, Van, Kontaknommer from tblDeelnemers into sDeelnemers WHERE ID = "'+sIDkies+'"; // copying data into string
frmData.qryVGKompetisieDB.ExecSQL;
frmData.qryVGKompetisieDB.SQL.Text := 'Select * from tblDeelnemers'; // to show table on dgGrid like originally
frmData.qryVGKompetisieDB.Active := true;
end; // then assigning textfile and copying sDeelnemers(string) into textfile
@No'am Newman のおかげで、コードは次のようになりました。
procedure TfrmData.Button1Click(Sender: TObject);
var
f: tstrings;
q: TADOQuery;
begin
redInfo.Visible := false;
dbgInfo.Visible := true;
qryVGKompetisieDB.Active := false;
qryVGKompetisieDB.SQL.Text := 'select id, naam, van, Kontaknommer from tblDeelnemers';
qryVGKompetisieDB.ExecSQL;
qryVGKompetisieDB.Active := true;
f:= tstringlist.create;
with q do
begin
open; //Error occurs here
while not eof do
begin
f.add (fieldbyname ('id').asstring + ',' +
fieldbyname ('naam').asstring + ',' +
fieldbyname ('Van').asstring + ',' +
fieldbyname ('Kontaknommer').asstring);
next
end;
close
end;
f.savetofile ('Deelnemers.txt');
f.free
end;
しかし、TADOQuery を開くと次のエラーが表示されます (コードに示されているとおり)。
プロジェクト PAT_p.exe は、メッセージ「モジュール 'PAT_p.exe' のアドレス 004A990C でのアクセス違反」で例外クラス EAccessViolation を発生させました。アドレス 8BD88CCB' の読み取り。プロセスが停止しました。Step または Run を使用して続行します。