powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Вывод в ListBox или DBListBox поля таблицы базы данных.
9 сообщений из 9, страница 1 из 1
Вывод в ListBox или DBListBox поля таблицы базы данных.
    #34170524
olegrolik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проконсультировался с разными людьми по этому поводу. Говорят, что нет такого метода(функции), поэтому необходимо создать свою собственную процедуру для отображения поля таблицы в ListBox'е.
Решил сделать так: Написать SQL запрос такого вида: SELECT count(*) from tablename
В итоге в таблице должен быть один элемент, который отображает количество строк в поле. Т.е. узнать сколько будет линий в ListBox'е.
Но понятия не имею как обратиться к этому элементу или выделить его.
Буду рад совету по этому поводу. А так же буду рад услышать разные идеи по выводу поля таблицы базы данных в компонет ListBox или DBListBox.
...
Рейтинг: 0 / 0
Вывод в ListBox или DBListBox поля таблицы базы данных.
    #34170697
vessi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ничего не понял. Нужно вывести в листбоксы все поля таблицы? А чем не
устраивает TDataset->FieldCount в сочетании с
TDataset->Fields->Fields[n]->FieldName?

или я неправильно понял?


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Вывод в ListBox или DBListBox поля таблицы базы данных.
    #34170756
olegrolik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vessi
Ничего не понял. Нужно вывести в листбоксы все поля таблицы? А чем не
устраивает TDataset->FieldCount в сочетании с
TDataset->Fields->Fields[n]->FieldName?

или я неправильно понял?


Posted via ActualForum NNTP Server 1.3

Нужно вывести содержимое одного поля. Например была такая таблица:

Температура Давление
10 760
20 750
15 770
В итоге я хочу сделать, чтобы каждая запись была в отдельной линии(line), т.е. ListBox будет выглядеть так:
10
20
15

А что делают эти функции? Не могли бы объяснить? Или написать пример.
...
Рейтинг: 0 / 0
Вывод в ListBox или DBListBox поля таблицы базы данных.
    #34170851
vessi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если данные из листбокса должны попадать в поле другой таблицы - тогда
используйте DBLookupListBox.

FieldCount - возвращает количество полей в датасете
Fields->Fields[n] - дает доступ к объекту поля таблицы по номеру n
FieldName - соответственно стринг с названием поля.

Листбокс ваш можно заполнить весьма просто - если в другую таблицу значение
писать не нужно. Привожу код. Table1 - объект вашей таблицы. Fields[0] -
ссылается на первое поле таблицы. Соответственно, листбокс заполняется из
значений первого поля.

Table1->First();
for (int i=0;i<Table1->RecordCount;i++)
{
ListBox1->Items->Add(Table1->Fields-Fields[0]->AsString);
}

вроде все.


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Вывод в ListBox или DBListBox поля таблицы базы данных.
    #34170999
olegrolik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Table1->First();
for (int i=0;i<Table1->RecordCount;i++)
{
ListBox1->Items->Add(Table1->Fields->Fields ->AsString);
}

Вставил такой код. Цикл не проходит полностью.Table1->Fields->Fields[0] вставляется в ListBox1. остальные - нет. Более того, вылетает ошибка, связанная с try.. catch.
Почему?
...
Рейтинг: 0 / 0
Вывод в ListBox или DBListBox поля таблицы базы данных.
    #34171047
vessi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{
IBTable1->First();
for (int i=0;i<IBTable1->RecordCount;i++)
{
ListBox1->Items->Add(IBTable1->Fields->Fields[1]->AsString);
IBTable1->Next();
}
}

ну это для примера реально работающий код. Да, кстати, Next() я забыл
поставить в предыдущем тексте. Впрочем, и так, вроде бы, понятно, что
таблицу нужно перелистывать на следующую запись.

Эксцепшн может выпадать из-за неактивности датасета, на который вы
ссылаетесь. Проще говоря, проверьте, в вашей таблице Active равен true?


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Вывод в ListBox или DBListBox поля таблицы базы данных.
    #34171182
olegrolik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всё. Спасибо большое :)
...
Рейтинг: 0 / 0
Вывод в ListBox или DBListBox поля таблицы базы данных.
    #34172860
Фотография Ramin Hashimzade
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторvoid __fastcall TForm1::BitBtn1Click(TObject *Sender)
{
IBTable1->First();
for (int i=0;i<IBTable1->RecordCount;i++)
{
ListBox1->Items->Add(IBTable1->Fields->Fields[1]->AsString);
IBTable1->Next();
}
}
вариант работать будет но не советую, если у тя будет много записев то юзвер должен будет ждать пока не закончиться твой цикл! поэтому советую исползывать DBContrtols и подключать его на датасорс который будет подключен на датасет и который содержит такой запрос!
Код: plaintext
select temperatura from mytable

----
www.hramin.jino-net.ru
...
Рейтинг: 0 / 0
Вывод в ListBox или DBListBox поля таблицы базы данных.
    #34179408
vessi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кстати да, еще одно решение. впрочем, проблема с тормозами для первого
варианта снимается вызовом Application->ProcessMessages(); в теле цикла.


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Вывод в ListBox или DBListBox поля таблицы базы данных.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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