[デルファイ] 無地コピーを表示 // ATableName-表名、AKeyField-主键、多个主键用;隔开、如; PID;回; From:ユニットHlsImplBase。 【デルファイ】図無地コピー 機能 THlsImplBase.UpdateTableData(ATableName、AKeyField:AnsiStringの、VaRのAデータ:バリアント):ブール。 VAR LSql:文字列; LDataSet:TDataSetに。 LProvider:TProvider。 LErrCount:整数; I:整数; 開始 結果: = Falseにします。 もし ATableName = 「」 そして、終了。 もし AKeyField = 「」 そして、終了。 LSql:= ' SELECT * FROM ' + ATableName + ' 1 = 2 ' 。 LDataSet: = CreateDataSet(LSql)。 もし ない(LDataSet)が割り当てられ、その後、終了。 LProvider: = TProvider。作成(ゼロ)。 LProvider.UpdateMode: = upWhereKeyOnly。 LProvider.DataSet: = LDataSet。 AKeyField: = 小文字(AKeyField)。 用 I:= 0 に LDataSet.FieldCount - 1は ない 始めます もし(小文字(LDataSet.Fields [I] .FieldName)= AKeyField)又は (順位(' ; ' +小文字(LDataSet.Fields [I] .FieldName)+ ' ; '、AKeyField)> 0)、次いで LDataSet.Fields [ I] .ProviderFlags: = LDataSet.Fields [I] .ProviderFlags + [pfInKey] 他 LDataSet.Fields [I] .ProviderFlags: = []; エンド; しようと してみてください LProvider.ApplyUpdates(Aデータと、 - 1 、LErrCountを)。 除く エンド; 結果:= LErrCount = 0 。 最後に LDataSet.Free; LProvider.Free; エンド; エンド ;