procedure TForm2.ListBox4Click(Sender: TObject);
var sDBItem1,sDBItem2,sDBItem3,sDBItem4,sDBItem5:string;
i,ia:integer;
begin
Memo1.Lines.Clear;
with ADOQuery1 do begin
SQL.Clear;
SQL.Add ('Select event_note,event_site,koeff_p1,koeff_n,koeff_p2 from bet');
Open;
First;
while not eof do
begin
sDBItem1 := String(FieldValues ['event_note']);
sDBItem2 := String(FieldValues ['event_site']);
sDBItem3 := String(FieldValues ['koeff_p1']);
sDBItem4 := String(FieldValues ['koeff_n']);
sDBItem5 := String(FieldValues ['koeff_p2']);
Memo1.lines.Add(sDBItem1);
Memo1.lines.Add(sDBItem2);
Memo1.lines.Add('Коэффициенты: '+ sDBItem3+' - '+sDBItem4+' - '+sDBItem5);
Next;
end;
end;
end;
Точно, так и знал что легко, заклинило
Только выдаёт что listbox4.itemIndex не имеет значение по умолчанию ....
Оно и не нужно. Когда кликаешь по ЛистБоксу, какой-то из элементов выделяется. Его номер - это и будет ItemIndex. Скорее всего, ты неправильно создал SQL-запрос.
Все имена проверил
вот запрос
SQL.Add ('select event_note,event_site,koeff_p1,koeff_n,koeff_p2 from bet where bet_id = listbox4.itemIndex');
SQL.Add ('select event_note,event_site,koeff_p1,koeff_n,koeff_p2 from bet where bet_id = ' +listbox4.itemIndex);надо за апострофом писать значение (если надо то приведи к строковому типу - inttostr)
SQL.Add ('select event_note,event_site,koeff_p1,koeff_n,koeff_p2 from bet where bet_id = :pr1');Пробуй так
ADOQuery1.Parameters.ParamValues['pr1'] := listbox.itemindex
Зависит от того, какой тип у поля bet_id... Если целочисленный - то:
SQL.Add ('select event_note,event_site,koeff_p1,koeff_n,koeff_p2 from bet where bet_id = ' +
IntToStr(listbox4.itemIndex));
SQL.Add ('select event_note,event_site,koeff_p1,koeff_n,koeff_p2 from bet where bet_id = ' +
QuotedStr(IntToStr(listbox4.itemIndex)));
Спасибо
Ещё вопросик
Если поле bet_id объявить в базе как AutoNumber, то это будет делаться автоматически
если юзаешь ms sql server, то в режиме редактирования таблицы на bet_id в свойствах ставишь identity specification - yes