Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.03.29;
Скачать: CL | DM;

Вниз

Создание базы (Db) с помошью Delphi   Найти похожие ветки 

 
killaTank ©   (2009-02-01 14:17) [0]

У меня такая проблема делаю курсовую на тему генеалогическое дерево. Свою Бд создаю с помощью data deskop BDE Administrator. Но мне поставили задачу, что бы пользователь не обладающий особыми знаниями мог свободно создать свою базу, своего  Генеалогического дерева  сам посредством этой программы. Программа отлажена и работает, но я не разобрался как создать новую бд (с расширением .db). Допустим поместить на форму кнопку и посредством нажатия ее открывается новая форма, где будут представлены поля (Edit) в которые мы внесем нужные данные (Название бд, Фамилии имя отчество, даты рождения и тп.), нажимаем готова и бд создана. Возможно ли так сделать? И если да то как??? Заранее спасибо!


 
Сергей М. ©   (2009-02-01 15:01) [1]

F1 + " Table Creation example"


 
killaTank ©   (2009-02-01 15:23) [2]

нету такого((


 
killaTank ©   (2009-02-01 15:49) [3]

не нашло точнее


 
Сергей М. ©   (2009-02-01 16:01) [4]

А у меня есть.
Жму F1, ввожу модель поиска "CreateTable", появляется список классов, имеющих такой метод, среди них - TTable

Жму на TTable, в открывшемся описании метода вижу ссылку "Delphi example", перехожу по ссылке и вижу пример использования метода.

Что я не так делаю ?


 
killaTank ©   (2009-02-01 16:16) [5]

Хорошо это я нашол. Компилирую, но ничего не создается! Как мне задавать при создании Бд не лазя при этом в код программы ее имя и поля таблиц?


 
Медвежонок Пятачок ©   (2009-02-01 16:19) [6]

при компиляции ничего и не должно создаваться крме exe


 
killaTank ©   (2009-02-01 16:26) [7]

Ну ехе создался, я имею в виду при запуске программы и использования этой кнопки (куда я поместил код)


 
Медвежонок Пятачок ©   (2009-02-01 16:27) [8]

значит у тебя ошибка в программе


 
killaTank ©   (2009-02-01 16:32) [9]

Ладно посмотрим, Как мне задавать при создании Бд не лазя при этом в код программы ее имя и поля таблиц? Там судя по коду стандартное задается...


 
AndreyV ©   (2009-02-01 16:33) [10]

> [5] killaTank ©   (01.02.09 16:16)
> Хорошо это я нашол. Компилирую, но ничего не создается!
> Как мне задавать при создании Бд не лазя при этом в код
> программы ее имя и поля таблиц?

У тебя на каждого человека своя таблица что ли?


 
Медвежонок Пятачок ©   (2009-02-01 16:34) [11]

как в примере написано, вот так и задавать


 
killaTank ©   (2009-02-01 16:41) [12]

AndreyV
Ну идея проекта в том что каждый кто захочет создать свою ветвь, при этом не обладая познаниями в программировании мог доступно создать новую бд средствами программы и внести свои данные.

Медвежонок Пятачок он просто создает ее, без полей и прочего, а мне нужно чтобы создавались поля таблици..


 
Медвежонок Пятачок ©   (2009-02-01 16:42) [13]

если "он" - это пример, то он как раз создает с полями


 
sniknik ©   (2009-02-01 16:43) [14]

> Как мне задавать при создании Бд
Бд для файл сервера это папка где таблицы размещаются...


 
killaTank ©   (2009-02-01 16:48) [15]

sniknik а если ее нет? Как это исправить?

Медвежонок Пятачок странно не видно :(


 
AndreyV ©   (2009-02-01 16:56) [16]

> [12] killaTank ©   (01.02.09 16:41)
> Ну идея проекта в том что каждый кто захочет создать свою
> ветвь, при этом не обладая познаниями в программировании
> мог доступно создать новую бд средствами программы и внести
> свои данные.

Ты путаешь БД и таблицу из БД
Храни в одной таблице однородные данные, родственные связи, например, в другоий - людей, и делай между таблицами связь. С программой можешь поставлять пустую БД или создавать при запуске (что там в примерах непонятного), путь к ней храни где-нибудь или передавай хоть в командной строке.


 
Сергей М. ©   (2009-02-01 16:58) [17]


> killaTank ©   (01.02.09 16:48) [15]


> если ее нет?


Кого ее ?
Если таблицу, то ты сам только что сказал

> он просто создает ее


 
killaTank ©   (2009-02-01 17:04) [18]

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;


 
Сергей М. ©   (2009-02-01 17:07) [19]


> TableName := "CustInfo";
>


TableName := InputBox("Новая таблица", "Введите имя новой таблицы", "NewTable");


 
Anatoly Podgoretsky ©   (2009-02-01 17:12) [20]

> killaTank  (01.02.2009 16:48:15)  [15]

Если ее нет, то ее надо создать - вот и все исправление.


 
killaTank ©   (2009-02-01 17:19) [21]

Сергей М. Спасибо огромное! Появляется окно ввожу название, и все, ничего не появляется не создается!

Anatoly Podgoretsky
Кого ее Бд? Я создал вместе с таблицей! В BDE Administrator и Database Desktop


 
AndreyV ©   (2009-02-01 17:48) [22]

> [18] killaTank ©   (01.02.09 17:04)
> AndreyV
> Ты имеешь в виду создать шаблон, по которому будет создаваться
> новая таблица? А как сделать что бы пользователь вводил
> сам  имя своей таблице?

Я о том, что не надо каждому создавать свою, как документ в Word, т.е. все пользователи сохраняют свои данные в общей БД. А то у тебя получается: для себя одна БД, для сестры другая, для дедушки третья. Так что ли?


 
sniknik ©   (2009-02-01 18:21) [23]

> А как сделать что бы пользователь вводил сам  имя своей таблице?
лучше всего чтобы никак... это дело программиста продумывать структуру. названия, связи в бд/таблицах.
а пользователь вводит только данные.

вас там вообще чему учат, в том месте где задачи ставят?


 
Anatoly Podgoretsky ©   (2009-02-01 19:06) [24]

> sniknik  (01.02.2009 18:21:23)  [23]

Чему видят видно, интереснее вопрос где учат, как название кулинарного техникума?


 
killaTank ©   (2009-02-02 09:13) [25]

sniknik
1. Учат учат, токо с Бд в первые столкнулся... Так нас ассемблеру учили.
2. А ты подумал, что если каждая таблица будет с порядковым номером может возникнуть путаница? Гораздо легче когда пользователь называет свою таблицу своим именем и фамилией? Упрощает поиск.

AndreyV
Ну и как это реализовать? БД есть уже!


 
Sergey13 ©   (2009-02-02 09:20) [26]

> [25] killaTank ©   (02.02.09 09:13)
> Гораздо легче когда пользователь называет свою таблицу своим
> именем и фамилией? Упрощает поиск.

Гораздо легче, когда пользователь вообще не знает, что такое таблица и тем более межтабличные связи.

> [25] killaTank ©   (02.02.09 09:13)
> БД есть уже!

Ну так и нарисовал бы тут ее структуру.


 
Сергей М. ©   (2009-02-02 09:29) [27]


> с Бд в первые столкнулся


> делаю курсовую ..Свою Бд создаю


Т.е. курсовая работа по каким-то причинам обязывает тебя использовать именно СУБД (например, Paradox), при том что знания в оной области у тебя практически нулевые, так ?


 
killaTank ©   (2009-02-02 20:44) [28]

Ну не нулевые, в делфи не работал просто, да с парадокс!


 
AndreyV ©   (2009-02-02 21:19) [29]

> [28] killaTank ©   (02.02.09 20:44)
> Ну не нулевые, в делфи не работал просто, да с парадокс!

Ты приведи структуру базы, как уже просили, чтоб более предметный разговор был.


 
Anatoly Podgoretsky ©   (2009-02-02 23:19) [30]

> AndreyV  (02.02.2009 21:19:29)  [29]

Нельзя, вдруг ты скопируешь.


 
killaTank ©   (2009-02-03 09:54) [31]

хммм у меня есть БД (создал по книге из делфи через BDE администратор, потом в нем сделал таблицу через Database Desktop, где поместил 3 поля(пока), ФИО, Дата рождения/смерти, данные). Вот в принципе и вся таблица.


 
Сергей М. ©   (2009-02-03 09:59) [32]


> Вот в принципе и вся таблица


А где же собственно дерево-то ?
Дерево же предполагает некие родственные отношения ..
Или они у тебя фигурируют в поле "данные" ?


 
Sergey13 ©   (2009-02-03 10:51) [33]

> [32] Сергей М. ©   (03.02.09 09:59)
> Или они у тебя фигурируют в поле "данные" ?

Видимо у него там все предки забиты.
ведь
> Программа отлажена и работает

8-)

> [31] killaTank ©   (03.02.09 09:54)

В общем за курсач тебе пара корячится, ИМХО. 8-)



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

Текущий архив: 2009.03.29;
Скачать: CL | DM;

Наверх




Память: 0.55 MB
Время: 0.027 c
2-1233739538
zorik
2009-02-04 12:25
2009.03.29
Смена типа на ходу


2-1233924528
bioss
2009-02-06 15:48
2009.03.29
Работа с кодировками в Delphi


2-1233734767
snake-as
2009-02-04 11:06
2009.03.29
Сделать активным окно программы


15-1233084580
Eraser
2009-01-27 22:29
2009.03.29
Скрыть строку от отладчика и хекс-редактора


15-1232174993
Tirael
2009-01-17 09:49
2009.03.29
двухкомпьютерный компьютер