SQL是Structured Query Language(结构化查询语言)的缩写。SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的。SQL功能强大、简单易学、使用方便,已经成为了数据库操作的基础,并且现在几乎所有的数据库均支持SQL。 [delphi]
view plain copy
//ATableName-表名, AKeyField-主键,多个主键用;隔开,如 ;pid;times; from:unit HlsImplBase;
[delphi] view plain copy
function THlsImplBase.UpdateTableData(ATableName, AKeyField: AnsiString; var AData: Variant): Boolean;
var
LSql: string;
LDataSet: TDataSet;
LProvider: TProvider;
LErrCount: Integer;
I: Integer;
begin
Result := False;
if ATableName = '' then Exit;
if AKeyField = '' then Exit;
LSql := 'select * from ' + ATableName + ' where 1 = 2';
LDataSet := CreateDataSet(LSql);
if not Assigned(LDataSet) then Exit;
LProvider := TProvider.Create(nil);
LProvider.UpdateMode := upWhereKeyOnly;
LProvider.DataSet := LDataSet;
AKeyField := LowerCase(AKeyField);
for I := 0 to LDataSet.FieldCount - 1 do
begin
if (LowerCase(LDataSet.Fields[I].FieldName) = AKeyField) or
(Pos(';' + LowerCase(LDataSet.Fields[I].FieldName) + ';', AKeyField) > 0) then
LDataSet.Fields[I].ProviderFlags := LDataSet.Fields[I].ProviderFlags + [pfInKey]
else
LDataSet.Fields[I].ProviderFlags := [];
end;
try
try
LProvider.ApplyUpdates(AData, -1, LErrCount);
except
end;
Result := LErrCount = 0;
finally
LDataSet.Free;
LProvider.Free;
end;
end; 以上就是如何使用delphi将Clientdataset的Delta保存到数据库中的详细内容,更多请关注php中文网其它相关文章!
学习教程快速掌握从入门到精通的SQL知识。
|
关键词: 如何运用delphi将Clientdataset的Delta保存到数据库中