Конференция "Базы" » Одновременно обращаюсь к одной БД из разных мест….дает ошибку… [D7]
 
  • jiura (18.01.12 11:18) [0]
    Здравствуйте!
    Есть БД Access к которой при загрузке программы я совершаю обращение. Одно через ADOConnection, а другое  из грида (TMS) – там есть процедура «msflListOfOrders.LoadFromMDBSQL(имя файа,запрос);». Эти две команды стоят в процедуре вызова последовательно, т.е. примерно так:

    [code]
    Procedure LoadOrdersFromFile;
    Var FileName:String;

    Begin
    FileName:='G:\2\Table.mdb';
    Frm1.ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+FileName+';Persist Security Info=False';
    Frm2.msflListOfOrders.LoadFromMDBSQL(FileName,'Select * from Orders');
    End;
    [/code]

    Проблема заключается в том, что при выполнении второй строчки возникает ошибка «Операция е допускается если объект открыт» - как я понимаю – ADOConnection не успевает выполниться, а идет новый запрос. Как можно приостановить (желательно без таймера выполнение последующих строк)?
  • sniknik © (18.01.12 11:27) [1]
    > как я понимаю –
    неверно, проблема в другом. прочитай ошибку БУКВАЛЬНО.
  • jiura (18.01.12 11:40) [2]
    Не понимаю о чем Вы.....Просто если эти две строки разнести по разным процедурам (не выполняются совместно) то все становится нормально!
  • sniknik © (18.01.12 12:28) [3]
    > то все становится нормально!
    вполне допускаю... что проблема именно здесь. с понятием трассировка знаком? пробуй... поставь sleep(10000); между командами если не веришь.
  • MsGuns © (18.01.12 14:10) [4]
    99% ошибка в теле LoadFromMDBSQL, где судя по параметру FileName используется прямой коннекшстринг, а не через TADOConnection
  • MsGuns © (18.01.12 14:13) [5]
    Кроме того, у него явно бардак событийный - т.е. запиханы "базовые" обработчики в OnCreate разных форм (за это вообще надо пальцы оптиливать пилкой для ногтей) ;)
  • MsGuns © (18.01.12 14:14) [6]
    Пардон, [4] неверно - прошу не обращать внимания.
    [5] остается в силе
 
Конференция "Базы" » Одновременно обращаюсь к одной БД из разных мест….дает ошибку… [D7]
Есть новые Нет новых   [134431   +10][b:0][p:0]