Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Виснет блокировка на вставку записи черезTADOQuery, почему? 
:(
    Опции темы
zone51
Дата 3.12.2008, 01:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 370
Регистрация: 17.2.2006

Репутация: нет
Всего: 1



Здравствуйте всем! Помогите пожалуйста разобраться с проблемой: при попытке вставки записи (любой) в базу Sybase ASA через TADOQuery процедура ExecSQL просто зависает наметртво. Висит блокировка при закрытии сервера выдается окно типа открытые соединения все ще есть почему? Заранее спасибо
Код

void __fastcall TForm1::sButton1Click(TObject *Sender)
{
 TADOConnection *connection=new TADOConnection(NULL);
 TADOQuery   *aq   =   new   TADOQuery(this);
 TMemoryStream   *tmp   =   new   TMemoryStream();
 TStream *bs=NULL;
 TFileStream *fs=NULL;
 try{
//    CoInitialize(NULL);

    //====================================WRITING
    tmp->LoadFromFile("c:\\config.xml");
    tmp->Seek(0,   soFromBeginning);
    //AnsiString connectionstring="odbc;Provider=System.Data.Odbc;Dsn=mydns;Server=127.0.0.1;Uid="+getXMLValue("baselogin")+";Pwd="+getXMLValue("basepass")+";";
    AnsiString connectionstring="odbc;Provider=System.Data.Odbc;Dsn=mydns;Server=127.0.0.1;Uid=su;Pwd=su;";
    aq->ConnectionString   =   connectionstring;

    aq->CommandTimeout=1;
    aq->SQL->Add("INSERT INTO table(gm_id,gm_file_id,gm_file_data) VALUES(1,2,5)");
 //   aq->Parameters->Items[0]->LoadFromStream(tmp,   ftBlob);
//    aq->Active=true;
//    aq->Insert();
    int a=aq->ExecSQL();

    //====================================READING
/*    aq->SQL->Text="SELECT * FROM GlobalOneMessageFile";
    aq->ExecSQL();
    while(!aq->Eof){
      bs = aq->CreateBlobStream(aq->FieldByName("gm_file_data"), bmReadWrite);
      fs = new TFileStream("c:\\FILE_NAME.EXT", fmCreate);
      fs->CopyFrom(bs, bs->Size);
    }*/
    delete   aq;
    delete   tmp;
    delete connection;
    delete fs;
    delete bs;
//    CoUninitialize;
 }
 catch(EOleException &exc){
//   CoUninitialize;
   AnsiString m="Error while working with DB: ";
//   MessageBox(NULL,(m+exc.Message).c_str(),"Error",0);
//   Application->MessageBox((m+exc.Message).c_str(),
//                           "Error", MB_OK+MB_ICONERROR);
   delete connection;
   delete   aq;
   delete   tmp;
 }

}



--------------------
The truth is out there
PM MAIL   Вверх
Dmi3ev
Дата 3.12.2008, 01:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1698
Регистрация: 28.11.2007

Репутация: 16
Всего: 41



Цитата

int a=aq->ExecSQL();

вот так
Код

aq->ExecSQL();



--------------------

PM MAIL   Вверх
zone51
Дата 3.12.2008, 12:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 370
Регистрация: 17.2.2006

Репутация: нет
Всего: 1



Dmi3ev, 
ПРобовал и так- все то же самое :(


--------------------
The truth is out there
PM MAIL   Вверх
Dmi3ev
Дата 3.12.2008, 12:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1698
Регистрация: 28.11.2007

Репутация: 16
Всего: 41



у вас в sql написано table, а это в sql зарезервированное слово, может есть смысл поменять название???

Добавлено через 2 минуты и 39 секунд
Даже если вы создаете aq динамически, я бы советовал чистить перед добавление текста
aq->SQL->Clear(), по-моему (это к делу не относится)


--------------------

PM MAIL   Вверх
Alca
Дата 3.12.2008, 12:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3993
Регистрация: 14.6.2006

Репутация: 25
Всего: 50



Код

/*AnsiString*/WideString connectionstring = "odbc;Provider=System.Data.Odbc;Dsn=mydns;Server=127.0.0.1;Uid=su;Pwd=su;";



--------------------
PM WWW ICQ Skype Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0423 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.