C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
TQuery и SELECT, да достало уже... (
Newbie
  Отправлено: 06.08.2005, 21:04


Не зарегистрирован







Я клнечно новичек в этом деле... Весь день копался в гугле в роисках инфы и ничего конкретного не нашел...

На всех сайтах и в книгах был код:
Query1->SQL->Clear();
Query1->SQL->Add("SELECT * FROM TableName");
Query1->Open();

Тут-то все понятно. Но НИГДЕ небыло написано как потом прочитать результат этого селекта! Да, тут на форуме нашел такой код
while (!Query1->Eof)
{
Memo->Lines->Add(Query1->Fields->Fields[1]->AsString);
Query1->Next();
}
но в Фидск я подставлял разные индексы и во всех случаях результат был НУЛЛ.

Люди помогите плиз.

За ранее спасибо.
** avtoritet
Отправлено: 07.08.2005, 04:12


Не зарегистрирован







TableName — это действительно имя файла базы данных?
Ты уверен, что база не пустая?

А еще можно сделать так:
Memo->Lines->Add(Query1->FieldByName("K_NAME")->Value);
Newbie
Отправлено: 07.08.2005, 09:41


Не зарегистрирован







Да, база не пустая — ее содержимое видно в TDBGrid, Query INSERT (ExecSQL()), а вот с селектом никак... (
Newbie
Отправлено: 07.08.2005, 09:43


Не зарегистрирован







Да, база не пустая — ее содержимое видно в TDBGrid. C Query INSERT (ExecSQL()) все прекрасно работает, а вот с селектом никак... (
0xb800
Отправлено: 07.08.2005, 12:15


Не зарегистрирован







Если надо именно в Memo, то:
for(Query1->Open();!Query1->Eof;Query1->Next())
Memo1->Lines->Add(Query1->Fields->Fields[1]->AsString); // номера полей начинаются с 0
Query1->Close();
или
Memo1->Lines->Add(Query1->Fields->FieldByNumber(1)->AsString); // номера полей начинаются с 1
Memo1->Lines->Add(Query1->FieldByName("FirstField")->AsString);
Newbie
Отправлено: 07.08.2005, 14:12


Не зарегистрирован







Все... Низнаю в чем была проблема, я просто сделал новый прооект, заного сделал БД и все заработало.

Спасибо за ответы.

Вернуться в Работа с базами данных в C++Builder