BDE とフラット テーブルを使用しています。2 つの同一のテーブルがtblOne
ありtblTwo
、あるテーブルから別のテーブルにデータをコピーしようとしています。DB全体ではなく、これを使用する特定の1つのレコードのみ:
function Tdm.CopyRecord(var tblFrom,tblTo : TTable) : Boolean;
var
i : Integer;
begin
Result:=False;
try
tblTo.Insert;
for i:=1 to tblFrom.FieldCount-1 do
begin
if tblFrom.Fields[i].FieldName = tblTo.Fields[i].FieldName then
tblTo.Fields[i].Value:=tblFrom.Fields[i].Value;
end;
tblTo.Post;
Result:=True;
finally
end;
end;
if CopyRecord(tblOne,tblTwo) then...
これをステップ実行すると、すべての値が From テーブルの「Null」になります。
Post の後、空白のレコードが に追加されますtblTo
。すべての値が Null であることは驚くべきことではありません。:)
データのコピーでどこが間違っていますか? コピー機能にはなっていません。
私はこれを数時間行っており、機能させることができません。おそらく、私が見落としている単純なものです。「var」パラメーターを追加して、違いがあるかどうかを確認しましたが、違いはありませんでした。
ところで、両方のファイルの最初のフィールドがAutoInc
.