The OpenNET Project / Index page

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




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
MySQL + C++, !*! alxx, 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;
//-----------------------------------------------------------------------

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

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




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

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