Поиск сообщества
Показаны результаты для тегов 'ListBox и SQLite'.
Найдено: 1 результат
-
Существует база данных SQLite из двух таблиц: категории(kategorii) и разделы(razdel). В категориях три поля: ID.NAM1,kateg(Nam1 уникальные значения), разделы : ID.NAM2,KATEG2(категории одинаковы для одной группы разделов). Подключение SQLite через FDConnection1 и FDQuery1. Тут нормально. На Form1 лежит ListBox1 в него из таблицы kategorii добавлены данные NAM1 стандартным методом . procedure TForm1.FormCreate(Sender: TObject); begin try ListBox1.Items.Clear; FDQuery1.Close; FDQuery1.SQL.Clear; FDQuery1.SQL.Add('select * from kategorii'); FDQuery1.OpenOrExecute; while not FDQuery1.Eof do begin ListBox1.Items.Add(FDQuery1.FieldByName('nam1').AsString); FDQuery1.Next; end; except on e: exception do Showmessage(e.ClassName + ': ' + e.Message); end; end; В ListBox-e для примера Овощи, Фрукты, Страна, Звери.... Поле kateg имеет значения 1,2,3,4 соответственно. Вторая таблица для каждой категории из первой таб. имеет разделы : лук, чеснок,помидор, хрен...Поле KATEG2 для этих элементов равно 1. Для фруктов то же четыре наименования и KATEG2=2. Остальное по такому же принципу. Есть вторая форма: на ней тоже ListBox, Button-с процедурой Form2.Hide и FDQuery2; Необходимо: при процедуре TForm1.ListBox1ItemClick открывалась Form2 и в ListBox2 загружались данные относящиеся только к одной категории. С формой проблем нет: Form2.Show;Form2.FDQuery2.Close; Form2.FDQuery2.SQL.Clear; Form2.FDQuery2.SQL.Add('select razdel.NAM2 from razdel WHERE razdel.kateg2='+???????? Form2.FDQuery2.OpenOrExecute; Вопрос: как получить значение поля kateg первой таблицы что бы во втором ListBox были данные относящиеся к нажатому в первом листбоксе пункта.... Делал все то же самое но вместо ListBox1 в Form1 использовал Grid1. В нем через переменную i:=FDQuery1.FieldByName('kateg').AsInteger ; ....... Form2.FDQuery2.SQL.Add('select razdel.NAM2 from razdel WHERE razdel.kateg2='+IntToStr(i)); получал нужный результат и все работает, на телефоне выглядит нормально. Но меня этот вариант не устраивает. Нужно использовать ListBox на первой форме.Помогите!