The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"MySQL + C++"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (C/C++)
Изначальное сообщение [ Отслеживать ]

"MySQL + C++"  +/
Сообщение от alxx (ok) on 23-Фев-11, 14:04 
Я создаю коннект к БД, выполняю запрос на выборку и по результату запроса либо добавляю либо обновляю записи в таблице, но при выполнении в программе кода выскакивает следующая ошибка: "Commands out of sync; you can't run this command now" на каждой итерации цикла.
Код:

//-----------------------------------------------------------------------
  MYSQL *conn;
  char test_query[255];
  strcpy(test_query, "SELECT * FROM drnet WHERE src = \'");
  strcat(test_query,s);
  strcat(test_query,"\' and dst = \'");
  strcat(test_query,d);
  strcat(test_query,"\'");
  
  printf("QUERY: %s\nTEST_QUERY: %s\n",query,test_query);
  conn = mysql_init(NULL);
  
  //Connect to DB
  if(!mysql_real_connect(conn, server, user, password, database, 0, NULL, 0))
  {
    fprintf(stderr,"mysql_real_connect: %s\n",mysql_error(conn));
    return 1;
  }
  
  //проверка есть ли уже такая запись. Если да, то модифицируем поле переданной информации, если нет, то вставляем новую запись
  if(mysql_query(conn,test_query)!=0)
  {
    printf("update\n");
    char update_query[255];
    strcpy(update_query, "UPDATE drnet SET length = length + ");
    strcat(update_query,datalen);
    strcat(update_query," WHERE src = \'");
    strcat(update_query,s);
    strcat(update_query,"\'");    
    strcat(update_query," AND dst = \'");
    strcat(update_query,d);
    strcat(update_query,"\'");
    printf("UPDATE_QUERY: %s\n",update_query);
    mysql_query(conn, update_query);
    mysql_close(conn);
    return 0;
  }
  
  
  //Query result
  if(mysql_query(conn,query))
  {
    fprintf(stderr,"mysql_query: %s\n",mysql_error(conn));
    mysql_close(conn);
    return 1;
  }
  
  mysql_close(conn);
  
  return 0;
//-----------------------------------------------------------------------

Ответить | Правка | Cообщить модератору

Оглавление

  • MySQL + C++, guest, 14:18 , 23-Фев-11, (1)  

Сообщения по теме [Сортировка по времени | RSS]


1. "MySQL + C++"  +/
Сообщение от guest email(??) on 23-Фев-11, 14:18 
> Я создаю коннект к БД, выполняю запрос на выборку и по результату
> запроса либо добавляю либо обновляю записи в таблице, но при выполнении
> в программе кода выскакивает следующая ошибка: "Commands out of sync; you
> can't run this command now" на каждой итерации цикла.

зовите mysql_use_result() + mysql_free_result() после каждого mysql_query()

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру