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

Вниз

сформировать список...   Найти похожие ветки 

 
makvell   (2005-12-05 23:16) [0]

Осваиваю IB, задача следующая:
В БД есть несколько таблиц... В программе нужно
сформировать список из значений поля THEME_NAME
одной из таблиц...

Пишу примерно следующую процедуру:

procedure TInsertF.ListThemeCreate;
var
   i: integer;
begin
cxComboBox1.Clear;
IBTransaction1.StartTransaction;
IBDataSet1.Open;

For i:=(IBDataSet1.RecordCount-1) downto 0 do
   begin
   cxComboBox1.Properties.Items.Add(IBDataSet1.FieldByName("THEME_NAME").AsString);
   IBDataSet1.Next;
   end;

IBTransaction1.Commit;
end;

Добавляю еще одну запись, а в списе по-прежнему одна,
или, что еще интереснее две, НО одинаковые (первая запись)...

В чем ошибка?

Заранее спасибо!


 
unknown ©   (2005-12-06 02:43) [1]

>makvell   (05.12.05 23:16)
>В чем ошибка?
вот в этом:
For i:=(IBDataSet1.RecordCount-1) downto 0 do
Надо или сначала все записи профетчить IBDataSet1.FetchAll
или (что, ИМХО, разумнее) делать так:

IBDataSet1.First;
while not IBDataSet1.Eof do
  begin
    ......
    IBDataSet1.Next;
  end;


 
msguns ©   (2005-12-06 09:34) [2]

Для того, чтобы получить реальный RecordCount, надо после Open дать датасету Last либо FetchAll


 
Johnmen ©   (2005-12-06 09:59) [3]

И зачем это всё гнать в комбобокс??????? В чём фишка?
Есть же TDBCombobox и прочие DB-Aware контролы....


 
makvell   (2005-12-06 17:34) [4]


> И зачем это всё гнать в комбобокс??????? В чём фишка?
> Есть же TDBCombobox и прочие DB-Aware контролы....


TDBComboBox... и что, как с ним сделать список из значений
полей одной из таблиц?


 
Johnmen ©   (2005-12-06 17:42) [5]

Попробовать почитать по F1


 
makvell   (2005-12-07 00:21) [6]


> Johnmen ©   (06.12.05 17:42) [5]
> Попробовать почитать по F1


F1:
Description

Use Items to supply the values in the list from which the user can choose. Because Items is an object of type TStrings, you can add, delete, insert, and move items using the Add, Delete, Insert, Exchange, and Move methods of the TStrings object. For example, to add each string to the combo box list, write code such as the following:

while not CountryTbl.Eof do begin

 DBComboBox1.Items.Add(CountryTbl.FieldByName("Country").AsString);
 CountryTbl.Next;

end;


...


> unknown ©   (06.12.05 02:43) [1]
> Надо или сначала все записи профетчить IBDataSet1.FetchAll
> или (что, ИМХО, разумнее) делать так:
>     ......


Еще раз спасибо.


 
Johnmen ©   (2005-12-07 09:06) [7]

>makvell   (07.12.05 00:21) [6]

Я говорил о F1 на TDBComboBox !
Использование в данном случае TComboBox есть глупость. Или наив неискушенной души...:)



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

Форум: "Базы";
Текущий архив: 2006.02.05;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.012 c
1-1135859646
Mikhail
2005-12-29 15:34
2006.02.05
причина ошибки ? для Delphi 2005 под VCL Forms App for Net


15-1137318232
Kerk
2006-01-15 12:43
2006.02.05
70 процентов выпускников американских школ не понимают,


15-1137421445
Ega23
2006-01-16 17:24
2006.02.05
Вопрос StarCraft ерам


2-1137586905
Dead.MorozZ
2006-01-18 15:21
2006.02.05
mp3 Player


2-1137480519
СержК
2006-01-17 09:48
2006.02.05
Как узнать - сколько строк в текстовом файле?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский