Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Sql->Combobox, Builder, Oracle 
V
    Опции темы
Mewer
Дата 7.6.2008, 10:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 7.6.2008

Репутация: нет
Всего: нет



Товарищи, вопрос: имеется таблица "Author" состоящая из ID и Name. Необходимо заполнить Combobox именами из таблицы.
пробовал:
Код

ADOQuery1->IndexName="Name";
 for(int i=0;i<ADOQuery1->IndexFieldCount;i++)
 {Form2->ComboBox1->AddItem(ADOQuery1->IndexFields[i]->FieldName,Form2->ComboBox1);}


но пишет "текущий проводник не поддерживает необходимый интерфейс для функции Index"

есть идеи? smile 

Это сообщение отредактировал(а) Mewer - 7.6.2008, 11:31
PM MAIL   Вверх
Данкинг
Дата 7.6.2008, 10:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: нет
Всего: 130



Проходи циклом по таблице, да заполняй. ИМХО иначе никак.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Mewer
Дата 7.6.2008, 11:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 7.6.2008

Репутация: нет
Всего: нет



а мой код не так делает? smile  smile 
PM MAIL   Вверх
Данкинг
Дата 7.6.2008, 11:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: нет
Всего: 130



Цитата(Mewer @  7.6.2008,  12:19 Найти цитируемый пост)
а мой код не так делает?

Верно, не заметил. smile Но всё же используй форматирование кода, чтобы читать его было легче!  smile 

Код

ComboBox1->Items->Add(ADOQuery1->FieldValues['NAME']);


Это сообщение отредактировал(а) Данкинг - 7.6.2008, 11:29


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Mewer
Дата 7.6.2008, 11:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 7.6.2008

Репутация: нет
Всего: нет



Вопрос остаётся открытым) smile 
PM MAIL   Вверх
Данкинг
Дата 7.6.2008, 11:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: нет
Всего: 130



Ну да, ещё нужно сначала встать на первую запись:

Код

ADOQuery1->First


А после каждого добавления переходить на следующую запись:

Код

ADOQuery1->Next


А цикл делать до 

Код

ADOQuery1->RecordCount


Это сообщение отредактировал(а) Данкинг - 7.6.2008, 11:44


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Mewer
Дата 7.6.2008, 11:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 7.6.2008

Репутация: нет
Всего: нет



Вобщем ADOQuery(clUseServer) соединён с ADOConnection(clUseClient), но при выполнении вышеприведённого Данкинг кода выдаёт ошибку ADOQuery:Field '1315007845' Not Found
PM MAIL   Вверх
Данкинг
Дата 7.6.2008, 12:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: нет
Всего: 130



В общем, вот пример на Дельфи, на Билдер сам его переведёшь, думаю.  smile 

Код

ADOQuery1.first;
for i:=1 to ADOQuery1.recordcount do
 begin
 ComboBox1.Items.Add(ADOQuery1.Fieldvalues['name']);
 ADOQuery1.next;
 end;



--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
mrbrooks
Дата 7.6.2008, 12:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 7
Всего: 306




Модератор: Сообщение скрыто.

PM MAIL   Вверх
Mewer
Дата 7.6.2008, 12:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 7.6.2008

Репутация: нет
Всего: нет



Код

ADOQuery1->First();
 while(ADOQuery1->RecordCount)
 { Form2->ComboBox1->Items->Add(ADOQuery1->FieldValues['ID']);
  ADOQuery1->Next();


не пашет.
mrbrooks, а как? smile 
PM MAIL   Вверх
mrbrooks
Дата 7.6.2008, 12:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 7
Всего: 306



Дык яж дописал  smile 
Повторюсь:

Код

ADOConnection->GetFieldNames( "Author" , ComboBox1->Items);

PM MAIL   Вверх
Mewer
Дата 7.6.2008, 12:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 7.6.2008

Репутация: нет
Всего: нет



mrbrooks, а как ADOConnection указать, из какой таблицы брать данные? smile 
PM MAIL   Вверх
mrbrooks
Дата 7.6.2008, 13:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 7
Всего: 306



Цитата(Mewer @ 7.6.2008,  12:58)
mrbrooks, а как ADOConnection указать, из какой таблицы брать данные? smile

ADOConnection->GetFieldNames( "ИМЯ_ТВОЕЙ_ТАБЛИЦЫ" , ComboBox1->Items);

В ADOConnection->ConnectionString указываешь на свою БД. 

PM MAIL   Вверх
Mewer
Дата 7.6.2008, 13:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 7.6.2008

Репутация: нет
Всего: нет



 smile  предыдущий вопрос опускаю smile .. Как указать ADOConnection из какого столбца нужно выбрать ? пока пишет"Объект или поставщик не может выполнить требуемую операцию" smile  smile 
PM MAIL   Вверх
mrbrooks
Дата 7.6.2008, 13:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 7
Всего: 306



Вот этого вопроса я не понял.
PM MAIL   Вверх
Mewer
Дата 7.6.2008, 13:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 7.6.2008

Репутация: нет
Всего: нет



Цитата

имеется таблица "Author" состоящая из ID и Name


ну две же колонки, "ИД" и "НЭЙМ"
PM MAIL   Вверх
mrbrooks
Дата 7.6.2008, 13:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 7
Всего: 306



Как - как:
 БД есть? - есть
 Таблица есть? - есть
 Все - компонент выведет тебе все поля таблицы в Бокс твой. 
 
PM MAIL   Вверх
Mewer
Дата 7.6.2008, 13:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 7.6.2008

Репутация: нет
Всего: нет



По видимому какие-то проблемы со связью с бд оракла, не пашет smile 
PM MAIL   Вверх
mrbrooks
Дата 7.6.2008, 14:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 7
Всего: 306



Дык ты когда коннектишься к БД через ADO при тесте все нормуль?
PM MAIL   Вверх
Mewer
Дата 7.6.2008, 14:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 7.6.2008

Репутация: нет
Всего: нет



Надо было поменять поставщика данных), но вариант предложенный mrbrooks ничего не выводит, как быудто таблица пустая
PM MAIL   Вверх
mrbrooks
Дата 7.6.2008, 14:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 7
Всего: 306



Гы. Ну знаешь ли. У всех нормально работает у тебя что то там не выходит. Кури мануал. Что тут еще посоветовать  smile 
PM MAIL   Вверх
Mewer
Дата 7.6.2008, 15:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 7.6.2008

Репутация: нет
Всего: нет



Интересно, что работает вариант
Код

 ADOConnection->GetTableNames(ComboBox1->Items);


а  ADOConnection->GetFieldNames( "Author" , ComboBox1->Items);

нет, в билдеровском хэлпе написано 
Цитата

The names of the fields are put into the already-existing string list object specified in the List parameter. 
 но вот что это за List parametr?

Добавлено через 1 минуту и 44 секунды
это я про параметры списка куда вставляются поля
PM MAIL   Вверх
mrbrooks
Дата 7.6.2008, 16:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 7
Всего: 306




Модератор: Сообщение скрыто.

PM MAIL   Вверх
Mewer
Дата 7.6.2008, 16:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 7.6.2008

Репутация: нет
Всего: нет



тэээкс....я наверно неправильно объяснил smile  нужен список значений определённого поля, тогда нужно использовать вроде GetFieldList у таблицы например ADOTable, так?
PM MAIL   Вверх
Mewer
Дата 7.6.2008, 17:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 7.6.2008

Репутация: нет
Всего: нет



Всем спасибо) вопрос решён!

Данкинг спасибо)

Код

ADOTable2->First();
 for(int i=0;i<ADOTable2->RecordCount;i++)
 {ListBox1->Items->Add(ADOTable2->FieldValues["Title"]);

    ADOTable2->Next();}

PM MAIL   Вверх
Palladin
Дата 7.6.2008, 18:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 932
Регистрация: 15.5.2007
Где: Беларусь г.Гомель

Репутация: 3
Всего: 17



Я пар дней назад статью написал в ней аккурат такой пример былsmile
юзать статьи+Faq+исходники форума надо smile  smile 


--------------------
Глуп тот кто полагается на истину авторитета, а не на авторитет истины
[color=red]KAV&KIS==Evil[/color]
PM MAIL   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C++: Базы данных"
chipset

Данный форум предназначен для обсуждения вопросов прямым образом связанных с C++ и БД. Так, вопросы только по C++ следует задавать в C++:Общие вопросы а вопросы по абстрактным БД в Базах данных или в соответствующих под-форумах.

Благодарим за понимание.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, chipset.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Базы данных | Следующая тема »


 




[ Время генерации скрипта: 0.0796 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.