Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.03.25;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.044 c
1-1170012790
Valera
2007-01-28 22:33
2007.03.25
Как реализованы в 1С Предприятии формы приложения ?


15-1172251427
palva
2007-02-23 20:23
2007.03.25
Чего нельзя делать в Интернете?


15-1172522345
SkySpeed
2007-02-26 23:39
2007.03.25
Как сохранить данные с винчестера на CD-R через MS-DOS?


2-1172768707
FIL-23
2007-03-01 20:05
2007.03.25
какя есть функция чтобы свернуть форму?


6-1160468065
Sergey2
2006-10-10 12:14
2007.03.25
соединения компьютера на данный момент





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский