Здравствуйте
столкнулся с проблемой следующего типа. Данные из таблицы просматриваю в длинной транзакции для чтения через IBDataSet а для редактирования, записи и удаления использую IBSQL в пишущей транзакции. В табле есть Blob (тип текст win1251) поле которое просматриваю через DBMEMO. При сохранении данных в базу использую следующую процу:
Код:
dm.IBSQLTemp.SQL.Clear;
if DM.IBDataSetNP.State in [dsInsert] then DM.IBSQLTemp.SQL.Text := DM.IBDataSetNP.InsertSQL.Text;
if DM.IBDataSetNP.State in [dsEdit] then DM.IBSQLTemp.SQL.Text := DM.IBDataSetNP.ModifySQL.Text;
try
DM.IBTranExecute.StartTransaction;
DM.IBSQLTemp.ParamByName('CITY').AsString := DM.IBDataSetNPCITY.AsString;
.......
DM.IBSQLTemp.ParamByName('OPISANIE').Value := DM.IBDataSetNPOPISANIE.Value;
......
DM.IBSQLTemp.ParamByName('OLD_CODNASPUNKT').AsString := DM.IBDataSetNPCODNASPUNKT.AsString;
DM.IBDataSetNP.Cancel;
DM.IBSQLTemp.ExecQuery;
DM.IBTranExecute.Commit;
DM.IBDataSetNP.Refresh;
except
ShowMessage('Операция не произведена');
end;
При данном способе текст из двмемо попадает в blob поле но некорректно так как после рефреша IBDataseta отображается строка квадратов.
Пмогите пожалста мудрыми советами