![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как обработать SQL запрос? [D5, MSSQL, access]
Kinder © (2003-10-22 15:47:00)
Вот я написал
with moduledata.Query do begin
SQL.Text :=
"SELECT fio FROM people WHERE id="+table.SelectedField.Text;
ExecSQL;
Close;
end;
Как теперь взять массив со значениями fio?
Kinder (2003-10-22 19:39:00) [41]
Ставил. А причем тут это?
Fay (2003-10-22 19:33:00) [42]
апдатесы ставил для D5?
Kinder (2003-10-22 19:32:00) [43]
И чего делать? Вроде же всё корректно.
Vlad (2003-10-22 19:27:00) [44]
Нет данных соответствующих SQL запросу.
Другими словами Query пуст.
Kinder (2003-10-22 19:20:00) [45]
Сделал
with moduledata.Query do begin
Close;
SQL.Clear;
SQL.Text :="SELECT * FROM people WHERE id="+table.SelectedField.Text;
Open;
while not eof do
begin
ShowMessage(Fields[1].AsString);
next;
end;
Close;
end;
Теперь пишет ошибку
Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.
Vlad (2003-10-22 19:16:00) [46]
while not eof do
begin
ShowMessage(Fields[1].AsString);
Next;
end;
Kinder (2003-10-22 19:12:00) [47]
Теперь работает, но цикл не останавливается.
procedure TForm1.tableCellClick(Column: TColumn);
begin
with moduledata.Query do begin
Close;
SQL.Text :="SELECT * FROM people WHERE id="+table.SelectedField.Text;
Open;
while not eof do
ShowMessage(Fields[1].AsString);
Close;
end;
end;
Всё время метка выводится с одним и тем же значением. Тут цикл должен пройти один раз и закончится вроде. А он повторяется бесконечно.
Vlad (2003-10-22 19:02:00) [48]
>Sandman25 © (22.10.03 18:09) [4]
поправочка - while notEof
Sandman25 (2003-10-22 18:55:00) [49]
Тогда попробуйте Fields[0].AsString
Kinder (2003-10-22 18:54:00) [50]
Странно. Но пишет
Query: Field "fio" not found.
Sandman25 (2003-10-22 18:09:00) [51]
with Query do
while Eof do
StringList.Add(FieldByName("fio").AsString;
Kinder (2003-10-22 17:53:00) [52]
Ну скажем в TstringList загнать значения fio из базы. Как?
bushmen (2003-10-22 15:51:00) [53]
with moduledata.Query do begin
Close;
Clear;
SQL.ADD :=
("SELECT fio FROM people WHERE id="+table.SelectedField.Text);
Open;
end;
А потом, смотря куда тебе результат нужен.
Reindeer Moss Eater (2003-10-22 15:50:00) [54]
with moduledata.Query do begin
SQL.Text :=
"SELECT fio FROM people WHERE id="+table.SelectedField.Text;
open;
while not Eof do
begin
...
Next;
end;
Close;
end;