powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Builder C++ 6 + MySQL
4 сообщений из 4, страница 1 из 1
Builder C++ 6 + MySQL
    #34702899
surpriserus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет.
Мой вопрос прост. Как мне сделать запрос из MySQL с помощью Builder C++ ?
Определенную таблицу с данными на форму я вывожу используя 3 компонента:
SQLClientDataSet1, DataSource1 и DBGrid (связанных между собой).
Но как мне например взять данные из DBGrid и сохранить их в массив я не пойму.
Перекопал кучу сайтов но там все на Delphi. Pascal (ООП) я к сожалению, а может и к счастью не знаю, только СИ.
Всем огромное спасибо за помошь.
...
Рейтинг: 0 / 0
Builder C++ 6 + MySQL
    #34702901
Ste@lth
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну не обязательно из грида, если надо получить просто данные из датасета, то есть простая навигация вида:
DS->First();
DS->Next();
DS->Prev();
DS->Last();
Для получения значения столбца используется подкласс Fields
DS->Fields->FieldByNumber(1)->AsString например

Если же необходимо получить данные по выбранной строке в гриде, то просто тянуть из датасета, во время выбора любой строки в гриде, автоматически сдвигается курсор в датасете, ведь компоненты то связаны:)
...
Рейтинг: 0 / 0
Builder C++ 6 + MySQL
    #34705116
Кифирчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
surpriserusВсем привет.
Мой вопрос прост. Как мне сделать запрос из MySQL с помощью Builder C++ ?
Определенную таблицу с данными на форму я вывожу используя 3 компонента:
SQLClientDataSet1, DataSource1 и DBGrid (связанных между собой).
Но как мне например взять данные из DBGrid и сохранить их в массив я не пойму.
я бы сделал так:
для доступа к данным использую связку ADOConnection+ADODataSet(ADOQuery,ADOTable)+DataSource+DBGrid
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
TADODataSet *ds = new TADODataSet(this);
ds->ConnectionString = "......";
// или если на форме есть настроенный ADOConnection
//ds->Connection = ADOConnection1;
ds->SQL->Text = "SELECT name, tel_num FROM tel ORDER BY name"l
TStringList * data = new TStringList(); //массив строк :)
ds->Open();
// пробегаем циклом по всему набору данных
for(ds->First();!ds->Eof;ds->Next())
{
   data->Append(ds->FieldByName("name")->AsString+"\t"+ds->FieldByName("tel_num")->AsString);
};
//  ещё можно цикл while
//  ds->First();
//  while(!ds->Eof)
//  {
//    data->Append(ds->FieldByName("name")->AsString+"\t"+ds->FieldByName("tel_num")->AsString);
//    ds->Next();
//  };
....
....
delete ds;
delete data;
...
Рейтинг: 0 / 0
Builder C++ 6 + MySQL
    #34705194
surpriserus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все заработало! Огромное спасибо.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Builder C++ 6 + MySQL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]