|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
Копирование в пределах одной таблицы
Задача такая есть база в MS Access нашел исходник который копирует запись:
Код:
var i: Cardinal; srcStream: TBlobStream; begin try with datamodule4.ADOTable1 do begin CheckBrowseMode; if EOF or BOF then raise Exception.Create('Разместите курсор на правильной строке'); end; with datamodule4.ADOTable2 do begin Append; for i := 0 to datamodule4.ADOTable1.FieldCount - 1 do if datamodule4.ADOTable1.Fields[i].DataType < ftBytes then FieldByName(datamodule4.ADOTable1.Fields[i].FieldName).Assign(datamodule4.ADOTable1.Fields[i]) else try srcStream := nil; srcStream := TBlobStream.Create(TBlobField(datamodule4.ADOTable1.Fields[i]), bmRead); TBlobField(FieldByName(datamodule4.ADOTable1.Fields[i].FieldName)).LoadFromStream(srcStream); finally if Assigned(srcStream) then srcStream.Free; end; Post; datamodule4.ADOtable1.Active:=false; datamodule4.ADOtable1.Active:=true; end; except on E: EDBEngineError do MessageDlg(E.Message, mtError, [mbOk], 0); on E: Exception do MessageDlg(E.Message, mtError, [mbOk], 0); end; end; выводит ошибку: First chance exception at $7C81EB33. Exception class EInvalidCast with message 'Invalid class typecast'. Process Project1.exe (2712) в чем моя ошибка подскажите пожалуйста... |