Форум программистов, компьютерный форум, киберфорум
C/С++ под Linux
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 20.12.2009
Сообщений: 15

MySql C API запросы

12.02.2011, 16:20. Показов 1506. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здраствуйте, решил перейти с Perl на С, и вот не могу разобраться с Mysql C API
Система: FreeBSD, gcc, mysql 4

суть программы в том чтобы сделать запрос SELECT,взять из него данные про статус, что-то с ним сделать, например сравнить и потом сделать другой запрос базируясь на этих данных, например сделать DELETE или UPDATE;
пример:

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
// ----- include begin -----
#include <mysql.h>
#include <stdio.h>
#include "confuse.h"
// ----- include end -----
 
int main(void) {
 
// ----- data block begin -----
    MYSQL *conn;
    MYSQL_RES *res;
    MYSQL_ROW row;
// ----- data block end -----
 
// ----- connect and initialisation to database block begin -----
    conn = mysql_init(NULL); 
 
    if (conn == NULL) 
    {
        printf("Error %u: %s\n", mysql_errno(conn), mysql_error(conn));
        exit(1);
    }
 
    if (!mysql_real_connect(conn, server, user, password, database, port, NULL, 0))
    {
        fprintf(stderr, "%s\n", mysql_error(conn));
        exit(1);
    }
// ----- connect and initialisation to database block end -----
 
// ============= main SELECT query ===================
 
if (mysql_query(conn, "SELECT id,ip,mac,status FROM user WHERE router= '1'"))
    {
        fprintf(stderr, "%s\n", mysql_error(conn));
        exit(1);
    }
 
// ----- strore result -----
    res = mysql_store_result(conn); 
// ----- store result -----
 
// =================== main cycle for rules =====================
    while ((row = mysql_fetch_row(res)) != NULL)
    {
// ----- print status -----
       printf("%s", row[3]); 
// ----- print status -----
 
// --------------- delete row from table client by id if status = 8 ----------------
    if (atoi(row[3]) == 8)
    {
        if (mysql_query(conn, "DELETE FROM user WHERE id ='row[0]'"))
        {
            fprintf(stderr, "%s\n", mysql_error(conn));
            exit(1);
        }
    }                                                              
// --------------- delete row from table client by id if status = 8 ----------------
    } // while
    mysql_free_result(res)
// =================== main cycle for rules =====================
// ============= main SELECT query ===================
    mysql_close(conn); // close mysql connection
 
  return 0; // return
}
проблема в том что запрос DELETE или UPDATE не выполняется, где искать решение?
Спасибо!

Добавлено через 30 минут
пошуршал на форуме, вроде нашел ответ, но просьба отписать тех у кого опыт работы з mysql, незнаю копаю ли я в ту сторону =)

C
1
2
3
4
5
6
7
8
if (atoi(row[3]) == 8)
{
        sprintf(buff, "DELETE FROM user WHERE id='%s'",row[0]);
        if (-1==mysql_query(conn, buff))
        {
                fprintf(stderr, "%s\n", mysql_error(conn));
        }
}
P.S. строчки удаляет но в консоль викидивает значение NULL, что то не так... хмм?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.02.2011, 16:20
Ответы с готовыми решениями:

API запросы в Telegram
Привет всем! Подскажите, пожалуйста, каким образом средствами .NET (C# или VB) создавать POST или GET запросы для работы с Telegram...

Vknet api запросы
Задача: искать в 100 группах (ID уже есть в массиве) на стенках посты по ключевику Реализовал с помощью vknet( метод wall.search) . ...

Запросы в VK API, требующие авторизации
Всем привет! Пытаюсь разобраться с JavaScript и API VK из спортивного интереса. На данный момент разобрался, как реализовать запросы из...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.02.2011, 16:20
Помогаю со студенческими работами здесь

API, REST-запросы, ClientToken
Здравствуйте, пытаюсь освоить API – REST-запросы и JSON-ответы. Стоит задача работы с девайсом по API. Есть параметры REST-запроса: ...

Как делать API запросы?
Помогите разобраться как делать API запросы при помощи .Net Core. Мне нужно получать информацию о погоде с сервиса...

HTTPS запросы или VK API
Помогите нубу пж. Ребят посоветуйте как делать HTTPS запросы с C++, какие библиотеки можно посмотреть? Я изучал SFML, поэтому подумал что...

Как отправлять запросы к Telegram API?
ВНИМАНИЕ, РАБОТАТЬ С АПИ БОТОВ МНЕ НЕ НУЖНО! Решил написать парсер, а в документации только описания методов на странном языке (TL,...

Связанные запросы для самодельного VK API
Доброе время суток, форумчане! Нуждаюсь в вашей помощи! Выручайте! Начал делать VK API. Необходимо реализовать два любых связанных...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru