Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.03.25;
Скачать: CL | DM;

Вниз

Подскажите как правильно раскидать результат запроса.   Найти похожие ветки 

 
vegarulez ©   (2007-03-01 16:36) [0]

Привет всем мастерам!
Подскажите как правильно раскидать результат запроса по переменным.

У меня есть вот такой код

         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);

Он выдаёт ошибку ничего не помешая в стринг лист.

Подскажите почему так не работает?
Что я делаю не так?


 
S@shka ©   (2007-03-01 16:39) [1]

MyList.Append(Datamodule2.SQLQuery2.Fields[1].AsString); - ОШИБКА

у тебя только одно поле возвращается а ты пытаешься к несуществующему второму обратиться


 
Ega23 ©   (2007-03-01 16:39) [2]

гы...
Сколько полей возвращает твой запрос?
Обрати внимание, не ЗАПИСЕЙ, а ПОЛЕЙ.


 
vegarulez ©   (2007-03-01 16:40) [3]

Есди же в стринг лист помешаю филдлист

MyList.AddStrings(Datamodule2.SQLQuery2.FieldList);

То он помешает тока названия филда (ов) а не значения.

В моём случае, представленном в примере - CONCAT(id," ",product)


 
vegarulez ©   (2007-03-01 16:42) [4]

Поле одно (колонка всмысле)
Записей много (строк то бишь)

Так как мне их в переменную MyList"а можно запихнуть?


 
S@shka ©   (2007-03-01 16:43) [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) [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:44) [7]

Подскажите как к ним (к записям) правильно обратится? Для того что бы в MyList поместить?


 
vegarulez ©   (2007-03-01 16:44) [8]

Спасибо ;)
Сечас попробую.


 
Ega23 ©   (2007-03-01 16:47) [9]


> Ega23 ©   (01.03.07 16:43) [6]


Вдогонку: если тебе этот DataSet больше не нужен, то нифигово try..finally добавить и в finally ему Close сделать.


 
vegarulez ©   (2007-03-01 16:47) [10]

Да, всё ок!
Спасибо.



Страницы: 1 вся ветка

Текущий архив: 2007.03.25;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.035 c
15-1172526986
Real
2007-02-27 00:56
2007.03.25
Crazy mashines или "Заработало!"


6-1160204036
psa247
2006-10-07 10:53
2007.03.25
Ускорить работу WNetEnumResource


15-1172407667
Dublicator
2007-02-25 15:47
2007.03.25
Простое число


2-1173086816
sipsik
2007-03-05 12:26
2007.03.25
почему на второй форме параметический запрос не работает


4-1162897982
Sergey2
2006-11-07 14:13
2007.03.25
Не приходит сообщение от "стрелок"