Главная страница
    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.46 MB
Время: 0.036 c
2-1172873525
pasha star
2007-03-03 01:12
2007.03.25
как вставить звук .wav в .exe ?


2-1172921907
inex
2007-03-03 14:38
2007.03.25
скрыться от панели задач


15-1172760867
Vlad Oshin
2007-03-01 17:54
2007.03.25
И вы молчали!!!? :))


15-1172481913
Игорь Шевченко
2007-02-26 12:25
2007.03.25
Запущен новый проект CPPBUILDER.RU


2-1173014018
Tru
2007-03-04 16:13
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский