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

Вниз

Внесение в базу данные2   Найти похожие ветки 

 
Anton Shestakov   (2002-01-19 02:10) [0]

Помогите. И если можно, то подробно.
У меня есть пустая таблица Paradox, созданная в
Database Desktop с шапкой Name и Date: а также ComboBox1,
где находиться список фамилий и DateTimePicker1 с текущей
датой. Мне надо, чтобы когда я выбираю из ComboBox1а и
DateTimePicker1а фамилию и текущую дату, мне надо чтобы
это данные заносились в таблицу. Может надо использовать
вместо ComboBox1а - DbComboBox1, или ещё что-нибудь.
Когда я создавал таблицу в Database Desktopе, то для Name
я выбрал - тип Alpha, а для Date - тип Date.
Может надо было сделать по другому.
Заранее благодарен.
Мне посоветовали:
В принципе и такая комбинация нормальная. (Если, конечно, имеется еще
и визуальный компонет для отображения таблицы. Плюс ,желательно,еще
и DBNavigator). Для работы достаточно:
1. Ввести таблицу в состояние редактирования текущей записи или добавление
новой нажатием нужной кнопки в DBNavigator или прямым вызовом Table.Edit
or Table.Insert (Append).
2. В обработчиках событий OnChange ComboBox и DTPicker присвоить нужному
полю введенное значение.
3. После завершения предыдущего, записать данные в таблицу либо прямым
вызовом Table.Post, либо нажав соответствующую кнопку на DBNavigator.
Я прописал:
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
table1.append;
table1["Name"]:=combobox1.text;
table1.Post;
end;
procedure TForm1.DateTimePicker1Change(Sender: TObject);
begin
table1.append;
table1["Date"]:=DateTimePicker1.Date;
table1.Post;
end;
В итоге данные с ComboBoxа вносятся нормально, а вот дата записывается сразу
в две ячейки, и ещё, после внесённых данных из ComboBoxа дата вносится не
напротив фамилии, а под ней, и тоже самое и с данными из ComboBoxа, данные
вносятся ниже, а не напротив.


 
SoftOne   (2002-01-19 02:28) [1]

2 Anton Shestakov
Лучше в подобных случаях сразу предьявлять код.
По существу. Ты в обработчиках событий OnChange сразу добавляешь новую строку в таблицу и сразу ее записываешь туда же. Естественно следующий OnChange от другого компонента уже создает новую запись в таблице. Либо вызывай Append отдельно, либо проверяй свойство State DataSet"a. Но в обоих случаях вызывай Post, только тогда, когда нужно. Лучше всего не в обработчиках OnChange.


 
User_OKA   (2002-01-21 07:29) [2]

Да, OnChange - неудачное решение. Лучше завести отдельную пипку и по OnClick на оной делать с базой все, что душе угодно.



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

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

Наверх




Память: 0.45 MB
Время: 0.004 c
1-42766
Ura
2002-01-31 12:44
2002.02.14
Создание INI файла по имение exe файла


3-42668
Andrews
2002-01-18 12:22
2002.02.14
Скроллинг DBGrid


1-42769
VL
2002-01-30 11:13
2002.02.14
компоненты midas


1-42805
Анатолий
2002-02-01 07:11
2002.02.14
SaveDialog


1-42747
perov
2002-01-30 09:48
2002.02.14
работа с объектами в TStringList





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