С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++ Builder: Базы данных
Войти
Регистрация
Восстановить пароль
 
Oliviya Vein
0 / 0 / 1
Регистрация: 06.01.2018
Сообщений: 20
1

Возможно ли подключиться к базе данных не используя компонент ADOConnection?

18.09.2018, 12:12. Просмотров 158. Ответов 3
Метки нет (Все метки)

На просторах интернета нашел решение с подключением заголовочного файла #include <mysql.h>


Пример с данного форума:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <cstdlib>
#include <iostream>
#include <mysql.h>
 
using namespace std;
 
int main() {
  mysql_server_init(0, NULL, NULL);
  MYSQL* db = mysql_init(NULL);
  mysql_real_connect(db, "localhost", "root", "password", "db_name", 0, NULL, 0);
 
  // ...здесь делаем с базой данных все, что понадобится
  mysql_query(db, "SELECT * FROM table_name");
  MYSQL_RES* result = mysql_store_result(db);
  MY_SQL_ROW row = mysql_fetch_row(result);
  //row - массив, содержащий значения полей записи
  cout << "1st row, 1st field: " << row[0];
  // и т. д...
 
  mysql_close(db);
  mysql_server_end();
  return EXIT_SUCCESS;
}

также к проекту добавляю libmysql.lib


При компилировании проекта выдает множество ошибок в файле: mysql_com.h

my_socket fd; /* For Perl DBI/dbd */ declaration missing ;
E2147 'SOCKET' cannot start a parameter declaration


Как можно подключиться к БД не используя компонент ADOConnection?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.09.2018, 12:12
Ответы с готовыми решениями:

Как программно подключиться к базе данных?
Прошу помощи как программно на С++ подключиться и делать выборки из базы данных Access. На VB.Net...

Как подключиться к удалённой базе данных в Builder6
Помогите, пожалуйста, кто знает. Пытаюсь подключиться к удалённой БД с использованием BDE. Если...

ADOConnection - путь к базе???
Как загрузить содержимое базы в DBGrid через связку DBGrid+DataSource+Query+ADOConnection??? Дело...

Можно ли, используя DAO подключиться к Web базе данных
Реально используя DAO подключиться к web базе данных допустим на примере localhost?

Подключение к Базе данных AdoConnection
В процедуре procedure TForm1.FormCreate(Sender: TObject); пытаюсь выполнить проверку на...

3
TrollHammer
398 / 266 / 132
Регистрация: 22.02.2018
Сообщений: 812
Записей в блоге: 2
18.09.2018, 14:53 2
Oliviya Vein, тип БД MySQL?
0
Oliviya Vein
0 / 0 / 1
Регистрация: 06.01.2018
Сообщений: 20
18.09.2018, 15:58  [ТС] 3
да, mysql.. С заголовочным файлом разобрался: Это странно, но нигде не сказано, что для работы также необходимо подключить winsock.h

C++
1
2
#include <winsock.h>
#include <mysql.h>
Однако, вышеприведенный код подключения к БД не рабочий
0
RomanSedyshev
19 / 13 / 8
Регистрация: 20.09.2018
Сообщений: 71
21.09.2018, 08:13 4
Вот мой код, работает. Тоже недавно запускал mysql. Что именно у тебя не работает?

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
//---------------------------------------------------------------------------
int TFLogin::MySQLConnect(AnsiString ip, AnsiString user, AnsiString password, AnsiString base_name, int port, MYSQL * mysql_desc)
{
    if(mysql_library_init(0,NULL,NULL)){Application->MessageBoxW(L"Ошибка инициализации библиотеки MYSQL!",L"Ошибка",MB_OK|MB_ICONERROR);return -1;}
    if(!mysql_init(mysql_desc)){MySQLErrorHandle(mysql_desc);return -1;}
    if(!mysql_real_connect(mysql_desc,ip.c_str(),user.c_str(),password.c_str(),base_name.c_str(),port,NULL,0)){MySQLErrorHandle(mysql_desc);return -1;}
    if(mysql_set_character_set(mysql_desc,"cp1251")){MySQLErrorHandle(mysql_desc);return -1;}
    return 0;
}
//---------------------------------------------------------------------------
int TFLogin::MySQLErrorHandle(MYSQL * mysql_desc)
{
    static int ret;
 
    ret=mysql_errno(mysql_desc);
    if(ret==0)return ret;
    else
    {
        Err="Номер ошибки MySQL: "+IntToStr(ret)+"\r\nОписание ошибки: "+mysql_error(mysql_desc);
        Application->MessageBoxW(((String)Err).c_str(),L"Ошибка MySQL",MB_OK|MB_ICONERROR);
        return ret;
    }
}
//---------------------------------------------------------------------------
int TFLogin::MySQLQuery_SELECT(MYSQL * mysql_desc, AnsiString * query, TStringList *** respond)
{
    static int row_counter,col_counter,num_cols,num_rows;
 
    //Формируем запрос в базу данных
    if(mysql_query(mysql_desc,query->c_str())){MySQLErrorHandle(mysql_desc);return -1;}
    MySQL_Res=mysql_store_result(mysql_desc);
    if(MySQL_Res==NULL){MySQLErrorHandle(mysql_desc);return -1;}
 
    //Выделяем память под ответ
    num_rows=mysql_num_rows(MySQL_Res);
    *respond=(TStringList**)malloc(num_rows*sizeof(TStringList*));
    for(row_counter=0;row_counter<num_rows;row_counter++)
        (*respond)[row_counter]=new TStringList();
 
    //Вычитываем ответ
    num_cols=mysql_num_fields(MySQL_Res);
    for(row_counter=0;row_counter<num_rows;row_counter++)
    {
        MySQL_Row=mysql_fetch_row(MySQL_Res);
        if(MySQL_Row==NULL)
        {
            mysql_free_result(MySQL_Res);
            MySQLErrorHandle(mysql_desc);
            return -1;
        }
 
        for(col_counter=0;col_counter<num_cols;col_counter++)
            (*respond)[row_counter]->Add(MySQL_Row[col_counter]);
    }
 
    mysql_free_result(MySQL_Res);
    return num_rows;
}
//---------------------------------------------------------------------------
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.09.2018, 08:13

Возможно ли подключиться к базе SQLite через ftp?
Доброго времени суток! Есть база BD.db(sqlite), она лежит на сервере, к которому имеется ftp...

Как подключиться к базе dbf используя vfpoledb
пробую так conn.ConnectionString = @&quot;Provider=vfpoledb;Data Source=e:\\;&quot;;...

Не удается подключиться к базе данных
public class DisplayActivity extends Activity { ListView list; LinearLayout ll; ...


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

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

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