Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
MickeyBlueEyes
Студент
120 / 131 / 12
Регистрация: 07.04.2011
Сообщений: 503
#1

Работа с mysql - C++

15.08.2013, 18:59. Просмотров 562. Ответов 4
Метки нет (Все метки)

Всем привет ) Тута нада к базе запрос делать, а выбирает только первую запись )

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
#include <stdio.h>
#include <stdlib.h>
#include <mysql/mysql.h>
 
int main(int a, char ** argv)
{
  MYSQL * conn;
  MYSQL_RES * res;
  MYSQL_ROW row;
   
  char * server = "localhost",           
       * user = "root",
       * password = "*****",
       * database = "test";
     
  conn = mysql_init(NULL);
 
  if(!mysql_real_connect(conn, 
                         server,
                         user, 
                         password, 
                         database, 
                         0,                              
                         NULL,
                         0)
                                                
    )
  {
    fprintf(stderr, "%s\n", mysql_error(conn));
    exit(1);
  }
 
  if (mysql_query(conn, "select mail, password from clients")) 
  {
    fprintf(stderr, "%s\n", mysql_error(conn));
    exit(1);
  }
 
  res = mysql_store_result(conn);
 
  while((row = mysql_fetch_row(res)) != NULL)   
  {
    printf("mail = %s\npass = %s\n", row[0], row[1]);
  }
 
  mysql_free_result(res);
 
  mysql_close(conn);
    
  return 0;
    
}
Вроде всё как по справочнику ) Но выбирает только первую запись в цикле и вылетает ;(
Буду благодарен за помощь, может кто сталкивался )
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.08.2013, 18:59
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Работа с mysql (C++):

C++ работа с mysql - C++
По информатике задали РГР: написать программу с БД ( можно выбрать любую ). Т.к. я имею опыт работы с mysql, решил использовать его....

MySQL и C++. Как подключить <mysql.h>? - C++
Не получилось( Тема старая, но решения универсального не нашел... #include &lt;iostream&gt; #include &lt;mysql.h&gt; MYSQL *connection, mysql;...

Работа с БД MySQL (MySQL + BCB 6) - C++ Builder БД
Почитал все что нашел в поиске... все сделал, как писали умные люди.. все заработало, но есть проблемка: При активировании SQLConnection...

Работа с MYSQL - Delphi FireMonkey
Подскажите пожалуйста, нужно написать программу под андроид на XE6 up1 Delphi. Но я не могу найти нормальный компонент который может...

Работа с MySQL - C++ Qt
Здравствуйте. Как нужно хранить данные из базы данных, если мне нужно подгружать какую то часть данных (таблиц) из базы и работать с ней в...

Работа с БД MYSQL - MySQL
Никак не могу понять как работать с mysql. Есть форма: &lt;FORM action=&quot;1.php&quot; method=&quot;post&quot;&gt; &lt;TABLE&gt; &lt;TR&gt; &lt;TD&gt; ...

4
Avazart
Нарушитель
Эксперт С++
7232 / 5404 / 294
Регистрация: 10.12.2010
Сообщений: 23,956
Записей в блоге: 17
16.08.2013, 02:11 #2
C "чем" вылетает ?
0
MickeyBlueEyes
Студент
120 / 131 / 12
Регистрация: 07.04.2011
Сообщений: 503
16.08.2013, 12:49  [ТС] #3
Цитата Сообщение от Avazart Посмотреть сообщение
C "чем" вылетает ?
Успешно заканчивается программа, без каких либо ошибок, а выводит только первую запись (
0
Avazart
Нарушитель
Эксперт С++
7232 / 5404 / 294
Регистрация: 10.12.2010
Сообщений: 23,956
Записей в блоге: 17
16.08.2013, 14:03 #4
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
using namespace std;
//---------------------------------------------------------------------------
int main()
{
    system("chcp 1251");
 
    mysql_server_init(0, NULL, NULL);
    MYSQL* db = mysql_init(NULL);
 
if (!mysql_real_connect(db,"localhost","root","password","database_name",0,NULL,0))
    {
        cout<<"Ошибка соединения с сервером: Error: ";
        cout<<mysql_error(db);  //О получении ошибок см. ниже
    }
else
 {
     mysql_query(db, "SELECT * FROM database_name.table_name");
     MYSQL_RES* result = mysql_store_result(db);
 
     for(int r=0; r<result->row_count; ++r)
        {
            MYSQL_ROW row = mysql_fetch_row(result);
            //row - массив, содержащий значения полей записи
            for(size_t f=0; f< result->field_count; ++f)
                {
                     if(row[f]) cout << row[f] << '\t';
                     else       cout << "NULL" << '\t';
                }
            cout<<endl;
        }
 }
 
 mysql_close(db);
 mysql_server_end();
 
 cout<<endl;
 
 system("pause");
 
 return 0;
}
//---------------------------------------------------------------------------
Добавлено через 12 минут
Ну или так


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//...
else
 {
     mysql_query(db, "SELECT * FROM database_name.table_name");
     MYSQL_RES* result = mysql_store_result(db);
 
     unsigned int num_fields= mysql_num_fields(result);
 
     MYSQL_ROW row;
 
     while(row = mysql_fetch_row(result))
        {
            for(size_t f=0; f< num_fields; ++f)
                {
                     if(row[f]) cout << row[f] << '\t';
                     else       cout << "NULL" << '\t';
                }
            cout<<endl;
        }
 }
 //...
Добавлено через 2 минуты
http://dev.mysql.com/doc/refman/5.6/en/mysql-fetch-row.html
1
ninja2
231 / 187 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
16.08.2013, 14:30 #5
MickeyBlueEyes, Да ты наверно не ту функцию используешь для вывода или в бд всего одна строка.
1
16.08.2013, 14:30
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.08.2013, 14:30
Привет! Вот еще темы с ответами:

Работа с MySQL - C#
Привет, народ! Помогите побороть барьер в виде &quot;работы с БД&quot;, никак не могу сделать все корректно. Решил разложить все по полочкам и...

Работа с mysql - PHP БД
Здравствуйте, возникла небольшая проблема с работой mysql. Нужно реализовать проверку, но не знаю как. Суть такова: Имеется переменная...

MySQL Работа с БД MySQL - PHP БД
Работа с БД MySQL в PHP Вступление Приветствую. В последнее время у новичков, только начинающих изучать mysql и php стали...

C# и работа с MySQL 5 - C#
Добрый вечер уважаемые форумчане! Я редко завожу тему, но сейчас действительно не нашел никакой информации, пожалуйста, помогите...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru