COM+ + MS SQL
function TLogControler.dspLogApplyUpdates(Data: OleVariant): OleVariant;
var iErrorCount:Integer;
begin
try
result := dspLog.ApplyUpdates(Data, -1, iErrorCount);
if iErrorCount > 0 then
begin
ShowMessage('Не согласовалось строк в количестве '+IntToStr(iErrorCount;
end;
SetComplete;
except
SetAbort;
raise
end;
end;
procedure TLogControler.AddLogRecord(data: OleVariant);
begin
// ShowMessage('параметры: '+ DateTimeToStr(DateTimeN)+UserID);//+IntToStr(ActionID)+IntToStr(UCID)+IntToStr(TableID;
try
cdsData.Data:=data;
with asetLog do
begin
cdsData.First;
while not cdsData.Eof do begin
open;
insert; //вставляем запись
FieldByName('DateTimeN').Value:=cdsData.FieldByName('DateTimeN').Value;
FieldByName('UserId').Value:=cdsData.FieldByName('UserId').Value;
FieldByName('ActionID').Value:=cdsData.FieldByName('ActionID').Value;
FieldByName('UCID').Value:=cdsData.FieldByName('UCID').Value;
FieldByName('TableID').Value:=cdsData.FieldByName('TableID').Value;
FieldByName('Description').Value:=cdsData.FieldByName('Description').Value;
cdsData.Next;
end;
post;
close;
end;
SetComplete
except
SetAbort;
raise;
end;
end;
то есть 2 способа: через метод ApplyUpdates у TDataSetProvider либо через ADO компоненты
'у спасибо
А работа с базой у тебя может идти через Ado, DAO, Ole DB, Ado.Net.
Так тебе что надо?
hr = GetObjectContext(&pInstanceContext);
// Open the Catalog table.
hr = dboCatalog.Open;
/* У dboCatalog есть члены m_ID и m_Name(столбцы в таблице) нужно создать новую запись или заменить текущую */
dboCatalog.Close;
// Complete the transaction.
pInstanceContext->SetComplete;
// Release the object context.
pInstanceContext->Release;
pInstanceContext = NULL;
почитай про ado или dao, а потом запросы делай
Оставить комментарий
teonazoi
Народ, кто знает(или может дать ссылку как создавать новую строчку(запись) или изменить текущюю в таблице базы.