Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2009.03.29;
Скачать: [xml.tar.bz2];

Вниз

Создание базы (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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.53 MB
Время: 0.041 c
15-1232061503
Дмитрий С
2009-01-16 02:18
2009.03.29
Экстремальный ноутбук


2-1234175488
TTLr
2009-02-09 13:31
2009.03.29
Сортировка данных по 2-м полям


2-1234184735
Footballer
2009-02-09 16:05
2009.03.29
Записать текстовый файл в exe-файл


6-1201094893
Михаил (Питер)
2008-01-23 16:28
2009.03.29
Поиск в локальной сети


15-1232824673
Unknown user
2009-01-24 22:17
2009.03.29
Модель приложения, основанная на сообщениях.





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