Перейти к содержанию
Fire Monkey от А до Я

Лидеры

Популярный контент

Показан контент с высокой репутацией 12.05.2021 во всех областях

  1. Здравствуйте! Блоб параметры в процедурах PostgreSQL победить не удалось, а вот та же функциональность через Блоб-поля TFDQuery была достигнута. В целом такой вариант более универсален. void __fastcall TNNConfig::SaveToDB() { if ( Connection && !Connection->Connected ) return; TMemoryStream* ms = new TMemoryStream(); fFiler = new TNNTextStream( ms ); try { SaveFilerFromUserEvent(); std::unique_ptr< TFDQuery > quReg( new TFDQuery( this ) ); std::unique_ptr< TFDTransaction > trReg( new TFDTransaction( this ) ); quReg->Connection = Connection; trReg->Connection = Connection; quReg->Transaction = trReg.get(); String RK = RegistryKey(); Connection->StartTransaction(); try { quReg->SQL->Text = "SELECT \"UserRegKey\", \"UserData\" FROM \"UserReg\" where \"UserRegKey\" = :UserRegKey_"; quReg->Params->Items[ 0 ]->DataType = ftString; quReg->Params->Items[ 0 ]->AsString = RK; quReg->Open(); if ( quReg->RecordCount == 0 ) { quReg->Insert(); quReg->Fields->Fields[ 0 ]->AsString = RK; } else quReg->Edit(); TBlobField *bf = ((TBlobField *)(quReg->Fields->Fields[ 1 ])); bf->LoadFromStream( Filer ); quReg->Post(); Connection->Commit(); } catch ( ... ) { Connection->Rollback(); } } __finally { delete fFiler; fFiler = nullptr; } } bool __fastcall TNNConfig::LoadFromDB() { if ( Connection && !Connection->Connected ) return false; bool B = false; std::unique_ptr< TFDQuery > quReg( new TFDQuery( this ) ); std::unique_ptr< TFDTransaction > trReg( new TFDTransaction( this ) ); quReg->Connection = Connection; trReg->Connection = Connection; quReg->Transaction = trReg.get(); quReg->SQL->Text = "SELECT \"UserRegKey\", \"UserData\" FROM \"UserReg\" where \"UserRegKey\" = :UserRegKey_"; quReg->Params->Items[ 0 ]->DataType = ftString; quReg->Params->Items[ 0 ]->AsString = RegistryKey(); quReg->Open(); if ( quReg->RecordCount == 1 ) { TBlobField *bf = ((TBlobField *)(quReg->Fields->Fields[ 1 ])); bf->SaveToStream( Filer ); B = true; } return B; } Вопрос закрыт! Спасибо! С уважением, Навадвипа Чандра дас.
    1 балл
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...