![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Помогите разобраться.
есть компонент Query с запросом: "SELECT DISTINCT Job FROM Table_5_JOB" Затем нужно в компонент ComboBox (под именем "CB_JOB" ) из запроса все значения перенести. Для чего написал вот такой код: Код:
DM.QJob.Open; DM.QJob.First; CB_JOB.Items.Clear; if DM.QJob.RecNo<=DM.QJob.RecordCount then Begin CB_JOB.Items.Add(DM.QJobJob.Value); DM.QJob.Next; End; Проблема в том что в итоге копируется ровно одна запись - первая, а их там 3. Возникает ощущение что комп на строку "DM.QJob.Next;" вообще не реагирует. Хотя если поместить на форму Грид и потключить его к запросу через ДатаСоурс и вручную тыкать по значениям то запрос переходит между ними. Помогите пожалуйста. |
#2
|
|||
|
|||
![]() Только что в книге про Delphi5 прочитал что есть свойcтво у компонента Query - UniDirectional - которое разрешает перемешение по набору данных в запросе. Но у меня Delphi 2010 и там такого свойства нету.
Может надо какое свойство поменять в Query? |
#3
|
||||
|
||||
![]() Почему не реагирует, очень даже реагирует. Вот только цикла-то у тебя нет, поэтому и добавляется только первая запись.
Некоторые программисты настолько ленивы, что сразу пишут рабочий код. Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты. |
#4
|
|||
|
|||
![]() как так нет. "DM.QJob.First" - точка отсчета, первая запись.
"DM.QJob.RecNo" номер выбраной записи, проверяется в условии меньше или равно общему количеству записей "DM.QJob.RecordCount". Если нет, то переходим на следующую запись "DM.QJob.Next". Затем все повторяется снова пока номер записи не будет больше количества строк, т.е. конц таблицы. Можно в принципе заменит условие на такое - "If not DM.QJob.EOF then", скорее даже надо, но лучше от этого не стало. Это разве не цикл??? |
#5
|
||||
|
||||
![]() Нет, это не цикл. Цикл вот:
Код:
while not(DM.QJob.EOF) do begin //тут твои фигли-мигли. end; Некоторые программисты настолько ленивы, что сразу пишут рабочий код. Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты. |
#6
|
|||
|
|||
![]() Спасибо, все работает.
|