Страница 1 из 1
MyDAC (MyQuery)
Добавлено: Пн 15 ноя 2010 16:58
freeing
Здравствуйте! Извините если не по теме, но я не знаю где еще спрашивать...
Скачал компонент MyDAC для Borland Builder C++ (v. 6)
Все хорошо, все нравится, только вот немного запутался в классе TMyQuery..
Мне необходимо поместить результат запроса в массив, TListBox или в TMemo
но как я пока не разобрался.
Код: Выделить всё
MyQuery->SQL = "SELECT ID From Table";
MyQuery->Open();
MyQuery-> // Что дальше, как получить доступ к результату запроса
И как считать часть ячеек, скажем с пятой по десятую..
Спасибо!
Добавлено: Пн 31 окт 2011 17:39
AndreyZ
Следующий пример демонстрирует как поместить данные которые вернул запрос в компонент TMemo:
Код: Выделить всё
void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{
MyQuery1->SQL->Text = "select id from testtable";
MyQuery1->Open();
Memo1->Clear();
while (!MyQuery1->Eof)
{
Memo1->Lines->Add(MyQuery1->FieldByName("id")->AsString);
MyQuery1->Next();
}
}
Следующий пример демонстрирует как поместить часть данных которые вернул запрос в компонент TMemo:
Код: Выделить всё
void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{
MyQuery1->SQL->Text = "select id from testtable";
MyQuery1->Open();
Memo1->Clear();
while (!MyQuery1->Eof)
{
if (MyQuery1->RecNo > 10) break;
if (MyQuery1->RecNo > 4)
{
Memo1->Lines->Add(MyQuery1->FieldByName("id")->AsString);
}
MyQuery1->Next();
}
}
Добавлено: Сб 12 ноя 2011 00:27
imobile
AndreyZ писал(а):
Memo1->Lines->Add(MyQuery1->FieldByName("id")->AsString);
Маленький вопрос. Я та понимаю, id это integer, asstring преобразует в стринг? Я то думал, что variant надо извлекать, как пришел, а дальше преобразовывать.(что-то типа простого выделения памяти для неоределенных данных)
Добавлено: Пн 14 ноя 2011 10:14
AndreyZ
Мы рекомендуем использовать методы подходящие под типы данных в базе, т.е. AsInteger для целочисленных типов, AsFloat для вещественных типов, AsString для строковых типов и т.д. Это более корректный способ работы позволяющий избежать неожиданных ошибок.