-
У меня такая проблема делаю курсовую на тему генеалогическое дерево. Свою Бд создаю с помощью data deskop BDE Administrator. Но мне поставили задачу, что бы пользователь не обладающий особыми знаниями мог свободно создать свою базу, своего Генеалогического дерева сам посредством этой программы. Программа отлажена и работает, но я не разобрался как создать новую бд (с расширением .db). Допустим поместить на форму кнопку и посредством нажатия ее открывается новая форма, где будут представлены поля (Edit) в которые мы внесем нужные данные (Название бд, Фамилии имя отчество, даты рождения и тп.), нажимаем готова и бд создана. Возможно ли так сделать? И если да то как??? Заранее спасибо!
-
F1 + " Table Creation example"
-
нету такого((
-
не нашло точнее
-
А у меня есть.
Жму F1, ввожу модель поиска "CreateTable", появляется список классов, имеющих такой метод, среди них - TTable
Жму на TTable, в открывшемся описании метода вижу ссылку "Delphi example", перехожу по ссылке и вижу пример использования метода.
Что я не так делаю ?
-
Хорошо это я нашол. Компилирую, но ничего не создается! Как мне задавать при создании Бд не лазя при этом в код программы ее имя и поля таблиц?
-
при компиляции ничего и не должно создаваться крме exe
-
Ну ехе создался, я имею в виду при запуске программы и использования этой кнопки (куда я поместил код)
-
значит у тебя ошибка в программе
-
Ладно посмотрим, Как мне задавать при создании Бд не лазя при этом в код программы ее имя и поля таблиц? Там судя по коду стандартное задается...
-
> [5] killaTank © (01.02.09 16:16)
> Хорошо это я нашол. Компилирую, но ничего не создается!
> Как мне задавать при создании Бд не лазя при этом в код
> программы ее имя и поля таблиц?
У тебя на каждого человека своя таблица что ли?
-
как в примере написано, вот так и задавать
-
AndreyV
Ну идея проекта в том что каждый кто захочет создать свою ветвь, при этом не обладая познаниями в программировании мог доступно создать новую бд средствами программы и внести свои данные.
Медвежонок Пятачок он просто создает ее, без полей и прочего, а мне нужно чтобы создавались поля таблици..
-
если "он" - это пример, то он как раз создает с полями
-
> Как мне задавать при создании Бд
Бд для файл сервера это папка где таблицы размещаются...
-
sniknik а если ее нет? Как это исправить?
Медвежонок Пятачок странно не видно :(
-
> [12] killaTank © (01.02.09 16:41)
> Ну идея проекта в том что каждый кто захочет создать свою
> ветвь, при этом не обладая познаниями в программировании
> мог доступно создать новую бд средствами программы и внести
> свои данные.
Ты путаешь БД и таблицу из БД
Храни в одной таблице однородные данные, родственные связи, например, в другоий - людей, и делай между таблицами связь. С программой можешь поставлять пустую БД или создавать при запуске (что там в примерах непонятного), путь к ней храни где-нибудь или передавай хоть в командной строке.
-
> killaTank © (01.02.09 16:48) [15]
> если ее нет?
Кого ее ?
Если таблицу, то ты сам только что сказал
> он просто создает ее
-
AndreyV
Ты имеешь в виду создать шаблон, по которому будет создаваться новая таблица? А как сделать что бы пользователь вводил сам имя своей таблице? Я не могу разобраться в этом коде:
with Table1 do begin
Active := False;
DatabaseName := 'DBDEMOS';
TableType := ttParadox;
TableName := 'CustInfo';
{ Don't overwrite an existing table }
if not Table1.Exists then begin
{ The Table component must not be active }
{ First, describe the type of table and give }
{ it a name }
{ Next, describe the fields in the table }
with FieldDefs do begin
Clear;
with AddFieldDef do begin
Name := 'Field1';
DataType := ftInteger;
Required := True;
end;
with AddFieldDef do begin
Name := 'Field2';
DataType := ftString;
Size := 30;
end;
end;
{ Next, describe any indexes }
with IndexDefs do begin
Clear;
{ The 1st index has no name because it is
{ a Paradox primary key }
with AddIndexDef do begin
Name := '';
Fields := 'Field1';
Options := [ixPrimary];
end;
with AddIndexDef do begin
Name := 'Fld2Indx';
Fields := 'Field2';
Options := [ixCaseInsensitive];
end;
end;
{ Call the CreateTable method to create the table }
CreateTable;
end;
-
> TableName := 'CustInfo';
>
TableName := InputBox('Новая таблица', 'Введите имя новой таблицы', 'NewTable');
-
> killaTank (01.02.2009 16:48:15) [15]
Если ее нет, то ее надо создать - вот и все исправление.
-
Сергей М. Спасибо огромное! Появляется окно ввожу название, и все, ничего не появляется не создается!
Anatoly Podgoretsky
Кого ее Бд? Я создал вместе с таблицей! В BDE Administrator и Database Desktop
-
> [18] killaTank © (01.02.09 17:04)
> AndreyV
> Ты имеешь в виду создать шаблон, по которому будет создаваться
> новая таблица? А как сделать что бы пользователь вводил
> сам имя своей таблице?
Я о том, что не надо каждому создавать свою, как документ в Word, т.е. все пользователи сохраняют свои данные в общей БД. А то у тебя получается: для себя одна БД, для сестры другая, для дедушки третья. Так что ли?
-
> А как сделать что бы пользователь вводил сам имя своей таблице?
лучше всего чтобы никак... это дело программиста продумывать структуру. названия, связи в бд/таблицах.
а пользователь вводит только данные.
вас там вообще чему учат, в том месте где задачи ставят?
-
> sniknik (01.02.2009 18:21:23) [23]
Чему видят видно, интереснее вопрос где учат, как название кулинарного техникума?
-
sniknik
1. Учат учат, токо с Бд в первые столкнулся... Так нас ассемблеру учили.
2. А ты подумал, что если каждая таблица будет с порядковым номером может возникнуть путаница? Гораздо легче когда пользователь называет свою таблицу своим именем и фамилией? Упрощает поиск.
AndreyV
Ну и как это реализовать? БД есть уже!
-
> [25] killaTank © (02.02.09 09:13)
> Гораздо легче когда пользователь называет свою таблицу своим
> именем и фамилией? Упрощает поиск.
Гораздо легче, когда пользователь вообще не знает, что такое таблица и тем более межтабличные связи.
> [25] killaTank © (02.02.09 09:13)
> БД есть уже!
Ну так и нарисовал бы тут ее структуру.
-
> с Бд в первые столкнулся
> делаю курсовую ..Свою Бд создаю
Т.е. курсовая работа по каким-то причинам обязывает тебя использовать именно СУБД (например, Paradox), при том что знания в оной области у тебя практически нулевые, так ?
-
Ну не нулевые, в делфи не работал просто, да с парадокс!
-
> [28] killaTank © (02.02.09 20:44)
> Ну не нулевые, в делфи не работал просто, да с парадокс!
Ты приведи структуру базы, как уже просили, чтоб более предметный разговор был.
-
> AndreyV (02.02.2009 21:19:29) [29]
Нельзя, вдруг ты скопируешь.
-
хммм у меня есть БД (создал по книге из делфи через BDE администратор, потом в нем сделал таблицу через Database Desktop, где поместил 3 поля(пока), ФИО, Дата рождения/смерти, данные). Вот в принципе и вся таблица.
-
> Вот в принципе и вся таблица
А где же собственно дерево-то ?
Дерево же предполагает некие родственные отношения ..
Или они у тебя фигурируют в поле "данные" ?
-
> [32] Сергей М. © (03.02.09 09:59)
> Или они у тебя фигурируют в поле "данные" ?
Видимо у него там все предки забиты.
ведь
> Программа отлажена и работает
8-)
> [31] killaTank © (03.02.09 09:54)
В общем за курсач тебе пара корячится, ИМХО. 8-)