![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Подскажите как правильно раскидать результат запроса. [D6, XP]
vegarulez © (2007-03-01 16:36:00)Привет всем мастерам!
Подскажите как правильно раскидать результат запроса по переменным.
У меня есть вот такой код
Datamodule2.SQLQuery2.SQL.Clear;
Datamodule2.SQLQuery2.SQL.add('SELECT CONCAT(id," ",product) FROM Groups');
Datamodule2.SQLQuery2.Open;
MyList.Append(Datamodule2.SQLQuery2.Fields[0].AsString);
//MyList.Append(Datamodule2.SQLQuery2.Fields[1].AsString);
Datamodule2.SQLQuery2.SQL.Clear;
Когда я делаю
MyList.Append(Datamodule2.SQLQuery2.Fields[0].AsString);
то добавляется тока первый результат запроса... но если я делаю следом
MyList.Append(Datamodule2.SQLQuery2.Fields[1].AsString);
Он выдаёт ошибку ничего не помешая в стринг лист.
Подскажите почему так не работает?
Что я делаю не так?
Ega23 (2007-03-01 16:47:00) [1]
> Ega23 © (01.03.07 16:43) [6]
Вдогонку: если тебе этот DataSet больше не нужен, то нифигово try..finally добавить и в finally ему Close сделать.
vegarulez (2007-03-01 16:47:00) [2]Да, всё ок!
Спасибо.
vegarulez (2007-03-01 16:44:00) [3]Подскажите как к ним (к записям) правильно обратится? Для того что бы в MyList поместить?
vegarulez (2007-03-01 16:44:00) [4]Спасибо ;)
Сечас попробую.
S@shka (2007-03-01 16:43:00) [5]while (not Datamodule2.SQLQuery2.Eof) do
begin
MyList.Append(Datamodule2.SQLQuery2.Fields[0].AsString);
....
Datamodule2.SQLQuery2.Next;
end;
Ega23 (2007-03-01 16:43:00) [6]
With Datamodule2.SQLQuery2 do
begin
if Active then Close;
SQL.Text := 'SELECT CONCAT(id," ",product) FROM Groups';
try
Open;
While not Eof do
begin
MyList.Append(Fields[0].AsString);
Next;
end;
except on E:Exception do
ShowMessage(E.Message);
end;
end;
vegarulez (2007-03-01 16:42:00) [7]Поле одно (колонка всмысле)
Записей много (строк то бишь)
Так как мне их в переменную MyList'а можно запихнуть?
vegarulez (2007-03-01 16:40:00) [8]Есди же в стринг лист помешаю филдлист
MyList.AddStrings(Datamodule2.SQLQuery2.FieldList);
То он помешает тока названия филда (ов) а не значения.
В моём случае, представленном в примере - CONCAT(id," ",product)
S@shka (2007-03-01 16:39:00) [9]MyList.Append(Datamodule2.SQLQuery2.Fields[1].AsString); - ОШИБКА
у тебя только одно поле возвращается а ты пытаешься к несуществующему второму обратиться
Ega23 (2007-03-01 16:39:00) [10]гы...
Сколько полей возвращает твой запрос?
Обрати внимание, не ЗАПИСЕЙ, а ПОЛЕЙ.