Главная страница
    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.006 c
6-42824
Yakudza
2001-11-23 19:13
2002.02.14
Как проверить доступент ли компьютер в сети или нет ?


14-42847
Snake2000
2001-12-24 12:22
2002.02.14
... а при нем задача...


3-42693
ТеньЛуны
2002-01-22 10:57
2002.02.14
dbExpress - поможите люди добрые!


3-42658
Eraser
2002-01-21 10:04
2002.02.14
Скоко можно записей в DB


7-42883
Александр А.
2001-11-05 14:59
2002.02.14
Объясните, кто ХОРОШО рассекает, разницу в





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