grantfullen Ответов: 2

Delphi fill listbox со всеми столбцами базы данных


У меня есть столик
CREATE TABLE [main](
    [ID] INTEGER PRIMARY KEY AUTOINCREMENT, 
    [Name] TEXT, 
    [Address] VARCHAR, 
    [Phone] VARCHAR, 
    [E-Mail] VARCHAR, 
    [Vin] INTEGER, 
    [Year] VARCHAR, 
    [Make] VARCHAR, 
    [Model] VARCHAR, 
    [Job Hours] FLOAT, 
    [Pictures] GRAPHIC, 
    [Repair Order Number] INT, 
    [Purchase Order Number] INT, 
    [RO Description] VARCHAR);


Я хочу отобразить все столбцы в моей базе данных в моем listbox2.

Что я уже пробовал:

Я пробовал этот код, но он загружает только столбец Name ;
Я действительно вижу 2 других пустых элемента под столбцом имя
<pre lang="Delphi">begin
  AccessCameraAppForm.fdloadmainToListbox.Close;
  // AccessCameraAppForm.fdloadmainToListbox.SQL.Text := 'SELECT site FROM uyeler ORDER BY site';
  try
    AccessCameraAppForm.fdloadmainToListbox.Open;
    AccessCameraAppForm.ListBox2.Items.Clear;
    while not AccessCameraAppForm.fdloadmainToListbox.Eof do
    begin
      AccessCameraAppForm.ListBox2.Items.Add
        (AccessCameraAppForm.fdloadmainToListbox.Fields[0].AsString);
        AccessCameraAppForm.ListBox2.Items.Add
        (AccessCameraAppForm.fdloadmainToListbox.Fields[1].AsString);
        AccessCameraAppForm.ListBox2.Items.Add
        (AccessCameraAppForm.fdloadmainToListbox.Fields[2].AsString);
      AccessCameraAppForm.fdloadmainToListbox.Next;
    end;
  finally
    AccessCameraAppForm.fdloadmainToListbox.Close;
  end;

2 Ответов

Рейтинг:
2

grantfullen

Thanks for your help.
I do not need to add columns to the list box.

I need to add all the information from my database e to to the listbox
So no columns in the list box. Just the data . This is a android app so the listbox will scroll.


CHill60

Вы сказали, что хотите добавить столбцы в свой список. Цитата: "хочу отобразить все столбцы в моем listbox2". я объяснил, как это сделать.
Теперь вы приняли свой собственный комментарий как решение ... так что никто не будет утруждать себя, чтобы помочь вам дальше, потому что ваш пост имеет принятый ответ.. вы находитесь на своем собственном сейчас

grantfullen

Не используйте этот сайт. Я действительно отменил согласие.
Если вы посмотрите на название вопроса . Заполните поле списка всеми столбцами базы данных.
Извините за путаницу.

CHill60

Я обновил свое решение

Рейтинг:
13

CHill60

Вы добавляете дополнительные элементы вместо того, чтобы передавать их в виде столбцов.

Смотрите этот пример SwissDelphiCenter.ch : ...показывать столбцы в TListBox с помощью табуляторов разной ширины?[^]
После того как вы настроили свои табуляторы вы должны добавить свои данные следующим образом:

AccessCameraAppForm.ListBox2.Items.Add (AccessCameraAppForm.fdloadmainToListbox.Fields[1].AsString Tab + AccessCameraAppForm.fdloadmainToListbox.Fields[1].AsString + Tab + AccessCameraAppForm.fdloadmainToListbox.Fields[2].AsString);


Редактировать.
Основываясь на вашем комментарии ниже и примере запроса в комментарии в вашем коде, вы не используете правильный запрос для извлечения данных из базы данных. Попробуйте что-нибудь вроде этого
select [ID], [Name], [Address], [Phone], [E-Mail], [Vin], [Year], [Make], [Model], [Job Hours], [Repair Order Number], [Purchase Order Number], [RO Description]
From main
Обратите внимание, я опустил графическую колонку


0x01AA

Ух ты! +5

CHill60

Взрыв из моего прошлого :-)