Конференция "Базы" » Чем то чревата подмена коннекта у ADOrecordSet? [MSSQL]
 
  • ВладОшин © (02.04.15 09:24) [0]
    1. в потоке создается идентичное соединение с БД со всеми аттрибутами "основного", поток запускается
    2. после отработки потока, recordSet потока клонируем, поток просим убиться ->
    3. клонированный рекордсет остается без коннекта

    Что если ему назначить новый коннект? Ничего не взорвется?
    (пока не взрывается, но вдруг)

    onВернулисьИзПотока
    // RS и TAdoQueryTH(Sender).RS типа  adoint.recordSet

         if TAdoQueryTH(Sender).RS <> nil then
           RS := TAdoQueryTH(Sender).RS.Clone(1);

         TAdoQueryTH(Sender).Terminate;

         RS.Set_ActiveConnection(Database.ConnectionObject);
  • sniknik © (02.04.15 10:09) [1]
    а смысл, выполнять в потоке и передавать результат в основную? пытаешься велосипед асинхронного получения данных сделать? так есть это, стандартно, галочку только в adodataset поставить и все.
  • ВладОшин © (02.04.15 10:22) [2]
    да, знаю, ExecuteOption
    и давно хочу переделать, но просто .. это много придется переделывать,
    пока быстрее поддерживать такое

    ну так, как думаешь, рванет или нет?
  • sniknik © (02.04.15 11:08) [3]
    сам по себе адошный рекордсет потоконезависим, "рванут" могут только твои действия с ним, например если захочешь что то подредактировать, изменить в нем. лучше передавая оставь его оторванным от коннекта.
 
Конференция "Базы" » Чем то чревата подмена коннекта у ADOrecordSet? [MSSQL]
Есть новые Нет новых   [134427   +34][b:0][p:0]