Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Содержимое ComboBox записать в таблицу 
:(
    Опции темы
dilik
Дата 17.2.2007, 00:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



ComboBox содержит всего 2 поля. Как сделать так, чтобы при выборе одного из них, в таблицу (к примеру "klient") в конкретное поле (например "pol") записалось "M" или "Ж"?  smile 
PM WWW ICQ   Вверх
Insert
Дата 17.2.2007, 01:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



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


Опытный
**


Профиль
Группа: Участник
Сообщений: 355
Регистрация: 10.4.2006
Где: Воронеж

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



В обработчике Combobox1.OnClick вносить соотв. изменения в таблицу. Как именно зависит от компонентов, которыми пользуешься для доступа к таблице
PM MAIL   Вверх
dilik
Дата 17.2.2007, 13:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата

какие БД используешь?



Paradox 7 через Database Desktop

Добавлено @ 13:51 
Цитата

В обработчике Combobox1.OnClick вносить соотв. изменения в таблицу. Как именно зависит от компонентов, которыми пользуешься для доступа к таблице


TTable, DataSource1 - наверно эти основные. Если нет, допиши какие еще можно.

DBGrid1 и DBNavigator1 наверное здесь использовать не нужно, ведь я просто записываю в таблицу, мне не обязательно это выводить
PM WWW ICQ   Вверх
Savek
Дата 17.2.2007, 16:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 355
Регистрация: 10.4.2006
Где: Воронеж

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



Код

procedure TForm1.ComboBox1OnClick(sender : TObject);
begin
Table1.Edit;
Table1.FieldByname('Pol').AsString:=ComboBox1.Text;
Table1.Post;

Это при условии что таблица находится в открытом состоянии и курсор установлен на нужную строку. 
PM MAIL   Вверх
dilik
Дата 17.2.2007, 21:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(Savek @ 17.2.2007,  16:56)
Код

procedure TForm1.ComboBox1OnClick(sender : TObject);
begin
Table1.Edit;
Table1.FieldByname('Pol').AsString:=ComboBox1.Text;
Table1.Post;

Это при условии что таблица находится в открытом состоянии и курсор установлен на нужную строку.

Я узнал что у меня есть огромная семья.... и метод TQuery.
Как я понимаю, он лучше TTable. Но я единственного понять не могу. Когда при TTable в поле "TableName" я указывал (писал вручную) Data\klient (у меня база klient.db находится в папке Data в папке проекта) и ставил Active=True всё работало, причем поле "DatabaseName" я оставлял пустым. А вот при TQuery поля "TableName" нет, и когда я пишу в поле "DatabaseName" Data\klient и ставлю Active=True прога ругается. Я понимаю, что делаю что-то не так. Подскажите, как заполнять эти поля при TQuery? И как соответственно изменится код моего вопроса №1.
PM WWW ICQ   Вверх
Vas
Дата 18.2.2007, 09:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 29.6.2005
Где: Stavropol region

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



Цитата(dilik @  17.2.2007,  21:24 Найти цитируемый пост)
Я узнал что у меня есть огромная семья.... и метод TQuery.
Как я понимаю, он лучше TTable. Но я единственного понять не могу. Когда при TTable в поле "TableName" я указывал (писал вручную) Data\klient (у меня база klient.db находится в папке Data в папке проекта) и ставил Active=True всё работало, причем поле "DatabaseName" я оставлял пустым. А вот при TQuery поля "TableName" нет, и когда я пишу в поле "DatabaseName" Data\klient и ставлю Active=True прога ругается. Я понимаю, что делаю что-то не так. Подскажите, как заполнять эти поля при TQuery? И как соответственно изменится код моего вопроса №1. 

Не забудь еще заполнить свойство SQL у TQuery, например так:
Код

select * from klient

А уж потом ставь Active=True.


--------------------
И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель. ... (А.С. Пушкин)
PM MAIL   Вверх
dilik
Дата 18.2.2007, 09:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата

Не забудь еще заполнить свойство SQL у TQuery, например так:
А уж потом ставь Active=True.


Я сделал так: DatabaseName я не заполнял, а в SQL я записал:
Код

Select Fio from Data\klient

Если написать так, Active можно поставить в True, если написать без Data\ то будет ошибка - Таблица не найдена и т.п.

А как передать выполненный результат уже на форму. Чтобы результат выводился через DbComboBox?

Это сообщение отредактировал(а) dilik - 18.2.2007, 11:26
PM WWW ICQ   Вверх
Savek
Дата 19.2.2007, 12:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 355
Регистрация: 10.4.2006
Где: Воронеж

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



Цитата(dilik @  18.2.2007,  09:44 Найти цитируемый пост)
А как передать выполненный результат уже на форму. Чтобы результат выводился через DbComboBox?


Подключи DBComboBox к соответствующему DataSorce и всё.
А если нужно результат в  DBComboBox.Items тогда заполняй ручками в цикле


PM MAIL   Вверх
dilik
Дата 20.2.2007, 21:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



а что лучше использовать DBComboBox или DBLookupComboBox. Последний кажется лучше тем, что там не надо писать код и sql-запрос. но у меня не получается насроить лист и дата сорс. может, у кого-то есть простенькая прога (коды), работающая с собственной базой, так чтобы и DBLookupComboBox использовался?
PM WWW ICQ   Вверх
Digo
Дата 3.3.2007, 13:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 194
Регистрация: 30.9.2004
Где: Ростов на Дону

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



ИМХО DBLookupComboBox лучше т.к. к DataSorce его можно привязать без лишних хлопот...
в инспекторе объектов для него заполняешь в пункте Database поля ListSourse(выберешь твой источник) KeyField - ключевое поле и ListField - собственно то что нужно отображать в DBLookupComboBox. Обрати внимание что в этом случае не надо заполнять DataField и DataSource!
--------------------
640кб оперативной памяти хватит миру по самые уши (Билл Гейтс )
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


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

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


 




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


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

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