Форум: "Начинающим";
Текущий архив: 2006.01.29;
Скачать: [xml.tar.bz2];
ВнизПомогите с базой данны)( Найти похожие ветки
← →
psyBNC © (2006-01-14 03:24) [0]Пишу базу данных!
Создал тоблицу с полями 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-14 06:03) [1]И ещё вопрос??
При сохранении таблици в файл, он переписывает данные, а как можно добавить данные к уже находящимся там данным??
← →
Rem © (2006-01-14 09:11) [2]Теперь еще об используемом движке БД пару слов - и можно начинать советовать. Или (в контексте "При сохранении таблици в файл") здесь используется некое другое, "оригинальное" хранилище?
← →
psyBNC © (2006-01-14 09:27) [3]Dbase
Нет всё просто, сохраняем в файл .xml
← →
psyBNC © (2006-01-14 12:25) [4]?
← →
YurikGL © (2006-01-14 13:02) [5]
> надо зделать чтоб после вода они остовались там сегда и
> не убирались когда создаёшь новую строку в таблице, соответствено
> ето данные должны прописываться в каждой строке таблици!
>
Делаешь глобальные переменные типа
p1, p2...
В beforeInsert твоего table сохраняешь в них значения тех полей, которые тебе нужно чтобы "прописываться в каждой строке таблици"
p1:=table.fieldByName(" ").value;
..
В AfterInsetInsert твоего table вытаскиваешь из переменных p1, p2 сохраненные значения и подставляешь их в поля вновь созданной записи
table.fieldByName(" ").value:=p1;
..
← →
psyBNC © (2006-01-14 15:39) [6]При сохранении таблици в файл, он переписывает данные, а как можно добавить данные к уже находящимся там данным??
Dbase
file.xml
← →
psyBNC © (2006-01-14 15:53) [7]Всё зделал как сказал!
но выдаёт ошибку!
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;
← →
Desdechado © (2006-01-14 16:05) [8]самое простое - сделать первые 3 дырки ввода данных через обычные, а не DB-контролы
для каждой записи в событии BeforePost заполнять значения полей из этих дырок
← →
psyBNC © (2006-01-14 16:14) [9]посто сказать я нечего не понел!!!
← →
Virgo_Style © (2006-01-14 16:19) [10]psyBNC © (14.01.06 16:14) [9]
Даже то, что сам написал?
Извиняюсь за оффтоп - но только за оффтоп.
← →
Anatoly Podgoretsky © (2006-01-14 16:59) [11]psyBNC © (14.01.06 03:24)
Поле 1,2,3 заполняется из dbcombobox и dbedit и должно быть одинаково во всех строках таблици.
В таком случае поля 1, 2 и 3 не имеют смысла и их можно и нужно удалить из таблицы!
← →
psyBNC © (2006-01-14 17:03) [12]нет нельзя удалять
потому что у меня есть дата время и отдел
допустим я покупаю 50 наименований
у каждого наименование значение дата время и отдел будет одно и тоже
но если делают покупку в другой день или время??????
← →
Anatoly Podgoretsky © (2006-01-14 17:12) [13]psyBNC © (14.01.06 17:03) [12]
Это обязательно нужно удалять, посколько во всех строках таблицы оно одинаковое. Достаточно иметь константу.
Мне кажется что они у тебя все таки разные, но в этом случае сразу становится вопрос об нормализации таблиц.
← →
psyBNC © (2006-01-14 17:20) [14]нет все значения одинаковые только наименование разное!!!
а через константу как можно зделать я даже принцип понять не могу!!!
← →
Anatoly Podgoretsky © (2006-01-14 17:36) [15]SELECT "12.12.2006", "12.00", 3, 4, 5 FROM Tbl
← →
psyBNC © (2006-01-14 17:39) [16]ну а дата поменяется и время??
нет мне кажется так как я хочу проще!?!?!?
← →
Desdechado © (2006-01-14 19:53) [17]"проще" - не значит "правильнее"
или, как в законах Мерфи, "для любой сложной проблемы существует очевидное, легкое для понимания неправильное решение"
то, что сказал AP про нормализацию - верно
но ты даже свой случай никак не можешь раскрутить, куда уж до нормализации-то...
читай справку по [8]
← →
psyBNC © (2006-01-15 07:01) [18]незнаю может и правельней зделать так,
но мне хотяб понять как работает как я предлогаю!
Я только начел программировать, и я бывает просто не понемаю что мне говорит я просто прошу что б мне обьеснили что и куда ставиться простым человечиским языком!
например как
YurikGL © (14.01.06 13:02) [5]
-------------------------------------------------------
За ранее всем большое спосибо, за терпение и понимание!!!
← →
psyBNC © (2006-01-15 08:16) [19]Всё я понел сам!!!
Оказывается всё просто как некогда, как я сам не догался!!!
все выгледит вот так:
для добавления строки событие "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
Как это зделать????
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.01.29;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.043 c