![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите с базой данны)(
psyBNC © (2006-01-14 03:24:00)Пишу базу данных!
Создал тоблицу с полями 1,2,3,4,5(имена просто что б легче приставить).
Поле 1,2,3 заполняется из dbcombobox и dbedit и должно быть одинаково во всех строках таблици.
Поля 4,5 заполняются прям в таблице!
например
DBEdit [дата 00.00.00]
DBEdit [время 00.00]
DBComboBox [отдел 00]
|______ товар________|_______цена________|
|____картофель______|_______2,50_________|
|_____помидоры______|_______4,60_________|
во всех строках должна сохранится дата, время, отдел
вся таблица выгледит так:
|___Дата___|__время__|отдел|______ товар________|_______цена________|
|12.12.2006_|__12.00__|__3__|____картофель______|_______2,50_________|
|12.12.2006_|__12.00__|__3__|_____помидоры______|_______4,60_________|
Вот вроде обьеснил, теперь проблемка?
поля 1,2,3 после заполнения и перехода к самой таблице к испровлениям недоступны, но после того как добовляешь новую строку данные в dbedit и dbcombobox проподают, надо зделать чтоб после вода они остовались там сегда и не убирались когда создаёшь новую строку в таблице, соответствено ето данные должны прописываться в каждой строке таблици!
Я что уже не пробывал, помогите разобраться!
psyBNC (2006-01-15 08:16:00) [1]Всё я понел сам!!!
Оказывается всё просто как некогда, как я сам не догался!!!
все выгледит вот так:
для добавления строки событие "OnClick"
procedure TForm1.N1Click(Sender: TObject);
begin
p1:=DBComboBox1.Text;
p2:=DBEdit1.Text;
p3:=DBEdit3.Text;
p4:=DBComboBox2.Text;
p5:=DBEdit5.Text;
p6:=DBEdit6.Text;
p7:=DBEdit7.Text;
ClientDataSet1.Insert;
ClientDataSet1.FieldByName('1').AsString:=p1;
ClientDataSet1.FieldByName('2').AsString:=p2;
ClientDataSet1.FieldByName('3').AsString:=p3;
ClientDataSet1.FieldByName('4').AsString:=p4;
ClientDataSet1.FieldByName('5').AsString:=p5;
ClientDataSet1.FieldByName('6').AsString:=p6;
ClientDataSet1.FieldByName('7').AsString:=p7;
end;
вот
теперь вопрос: по добавлению данных к уже имеющиемся данным в файле .xml
Как это зделать????
psyBNC (2006-01-15 07:01:00) [2]незнаю может и правельней зделать так,
но мне хотяб понять как работает как я предлогаю!
Я только начел программировать, и я бывает просто не понемаю что мне говорит я просто прошу что б мне обьеснили что и куда ставиться простым человечиским языком!
например как
YurikGL © (14.01.06 13:02) [5]
-------------------------------------------------------
За ранее всем большое спосибо, за терпение и понимание!!!
Desdechado (2006-01-14 19:53:00) [3]"проще" - не значит "правильнее"
или, как в законах Мерфи, "для любой сложной проблемы существует очевидное, легкое для понимания неправильное решение"
то, что сказал AP про нормализацию - верно
но ты даже свой случай никак не можешь раскрутить, куда уж до нормализации-то...
читай справку по [8]
psyBNC (2006-01-14 17:39:00) [4]ну а дата поменяется и время??
нет мне кажется так как я хочу проще!?!?!?
Anatoly Podgoretsky (2006-01-14 17:36:00) [5]SELECT "12.12.2006", "12.00", 3, 4, 5 FROM Tbl
psyBNC (2006-01-14 17:20:00) [6]нет все значения одинаковые только наименование разное!!!
а через константу как можно зделать я даже принцип понять не могу!!!
Anatoly Podgoretsky (2006-01-14 17:12:00) [7]psyBNC © (14.01.06 17:03) [12]
Это обязательно нужно удалять, посколько во всех строках таблицы оно одинаковое. Достаточно иметь константу.
Мне кажется что они у тебя все таки разные, но в этом случае сразу становится вопрос об нормализации таблиц.
psyBNC (2006-01-14 17:03:00) [8]нет нельзя удалять
потому что у меня есть дата время и отдел
допустим я покупаю 50 наименований
у каждого наименование значение дата время и отдел будет одно и тоже
но если делают покупку в другой день или время??????
Anatoly Podgoretsky (2006-01-14 16:59:00) [9]psyBNC © (14.01.06 03:24)
Поле 1,2,3 заполняется из dbcombobox и dbedit и должно быть одинаково во всех строках таблици.
В таком случае поля 1, 2 и 3 не имеют смысла и их можно и нужно удалить из таблицы!
Virgo_Style (2006-01-14 16:19:00) [10]psyBNC © (14.01.06 16:14) [9]
Даже то, что сам написал?
Извиняюсь за оффтоп - но только за оффтоп.
psyBNC (2006-01-14 16:14:00) [11]посто сказать я нечего не понел!!!
Desdechado (2006-01-14 16:05:00) [12]самое простое - сделать первые 3 дырки ввода данных через обычные, а не DB-контролы
для каждой записи в событии BeforePost заполнять значения полей из этих дырок
psyBNC (2006-01-14 15:53:00) [13]Всё зделал как сказал!
но выдаёт ошибку!
procedure TForm1.ClientDataSet1BeforeInsert(DataSet: TDataSet);
begin
p1:=ClientDataSet1.FieldByName('1').Value;
p2:=ClientDataSet1.FieldByName('2').Value;
p3:=ClientDataSet1.FieldByName('3').Value;
p4:=ClientDataSet1.FieldByName('4').Value;
p5:=ClientDataSet1.FieldByName('5').Value;
p6:=ClientDataSet1.FieldByName('6').Value;
p7:=ClientDataSet1.FieldByName('7).Value;
end;
procedure TForm1.ClientDataSet1AfterInsert(DataSet: TDataSet);
begin
ClientDataSet1.FieldByName('1').Value:=p1;
ClientDataSet1.FieldByName('2').Value:=p2;
ClientDataSet1.FieldByName('3').Value:=p3;
ClientDataSet1.FieldByName('4').Value:=p4;
ClientDataSet1.FieldByName('5').Value:=p5;
ClientDataSet1.FieldByName('6').Value:=p6;
ClientDataSet1.FieldByName('7').Value:=p7;
end;
psyBNC (2006-01-14 15:39:00) [14]При сохранении таблици в файл, он переписывает данные, а как можно добавить данные к уже находящимся там данным??
Dbase
file.xml
YurikGL (2006-01-14 13:02:00) [15]
> надо зделать чтоб после вода они остовались там сегда и
> не убирались когда создаёшь новую строку в таблице, соответствено
> ето данные должны прописываться в каждой строке таблици!
>
Делаешь глобальные переменные типа
p1, p2...
В beforeInsert твоего table сохраняешь в них значения тех полей, которые тебе нужно чтобы "прописываться в каждой строке таблици"
p1:=table.fieldByName(' ').value;
..
В AfterInsetInsert твоего table вытаскиваешь из переменных p1, p2 сохраненные значения и подставляешь их в поля вновь созданной записи
table.fieldByName(' ').value:=p1;
..
psyBNC (2006-01-14 12:25:00) [16]?
psyBNC (2006-01-14 09:27:00) [17]Dbase
Нет всё просто, сохраняем в файл .xml
Rem (2006-01-14 09:11:00) [18]Теперь еще об используемом движке БД пару слов - и можно начинать советовать. Или (в контексте "При сохранении таблици в файл") здесь используется некое другое, "оригинальное" хранилище?
psyBNC (2006-01-14 06:03:00) [19]И ещё вопрос??
При сохранении таблици в файл, он переписывает данные, а как можно добавить данные к уже находящимся там данным??