Я оптимизирую свою систему и пытаюсь сделать более динамичную c форму создания наборов данных для вставки, обновления, удаления и даже поиска. Мне удалось попасть сюда, пытаясь сделать вставку, но возникает ошибка DatasetProvider, хотя я уже направил ее в ClientDataset, и ошибка возникает при открытии TClientDataSet:
procedure TF_Teste.Button1Click(Sender: TObject);
VAR
sdsTemp : TSQLDataSet;
dspTemp : TDataSetProvider;
cdsTemp : TClientDataSet;
dsTemp : TDataSource;
begin
try
//Cria o TSQLDataSet
sdsTemp := TSQLDataSet.Create(nil);
sdsTemp.SQLConnection := DMPrin.HYPERBD;
sdsTemp.Close;
sdsTemp.CommandText := 'SELECT * FROM CLIENTE';
//Cria o TDataSetProvider
dspTemp := TDataSetProvider.Create(nil);
dspTemp.Name := 'dspProvider';
dspTemp.DataSet := sdsTemp;
dspTemp.Options := dspTemp.Options + [poAllowCommandText];
dspTemp.Options := dspTemp.Options + [poUseQuoteChar];
//Cria o TClientDataSet
cdsTemp := TClientDataSet.Create(nil);
cdsTemp.ProviderName := dspTemp.Name;
cdsTemp.Open; //Nesse momento ocorre o erro de "Missing dataset provider ou data packet"
cdsTemp.Append;
cdsTemp.FieldByName('NOME').AsString := 'Teste dataset';
cdsTemp.ApplyUpdates(0);
finally
FreeAndNil(sdsTemp);
FreeAndNil(dspTemp);
FreeAndNil(cdsTemp);
end;
end;
Я все еще собираюсь оптимизировать код, поместив его в функцию, но теперь я просто пытаюсь заставить его работать. Не могли бы вы мне помочь с этой проблемой? Заранее спасибо.