Конференция "Начинающим" » Создание базы (Db) с помошью Delphi [D7, dBase, FoxPro, Paradox]
 
  • killaTank © (01.02.09 14:17) [0]
    У меня такая проблема делаю курсовую на тему генеалогическое дерево. Свою Бд создаю с помощью data deskop BDE Administrator. Но мне поставили задачу, что бы пользователь не обладающий особыми знаниями мог свободно создать свою базу, своего  Генеалогического дерева  сам посредством этой программы. Программа отлажена и работает, но я не разобрался как создать новую бд (с расширением .db). Допустим поместить на форму кнопку и посредством нажатия ее открывается новая форма, где будут представлены поля (Edit) в которые мы внесем нужные данные (Название бд, Фамилии имя отчество, даты рождения и тп.), нажимаем готова и бд создана. Возможно ли так сделать? И если да то как??? Заранее спасибо!
  • Сергей М. © (01.02.09 15:01) [1]
    F1 + " Table Creation example"
  • killaTank © (01.02.09 15:23) [2]
    нету такого((
  • killaTank © (01.02.09 15:49) [3]
    не нашло точнее
  • Сергей М. © (01.02.09 16:01) [4]
    А у меня есть.
    Жму F1, ввожу модель поиска "CreateTable", появляется список классов, имеющих такой метод, среди них - TTable

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

    Что я не так делаю ?
  • killaTank © (01.02.09 16:16) [5]
    Хорошо это я нашол. Компилирую, но ничего не создается! Как мне задавать при создании Бд не лазя при этом в код программы ее имя и поля таблиц?
  • Медвежонок Пятачок © (01.02.09 16:19) [6]
    при компиляции ничего и не должно создаваться крме exe
  • killaTank © (01.02.09 16:26) [7]
    Ну ехе создался, я имею в виду при запуске программы и использования этой кнопки (куда я поместил код)
  • Медвежонок Пятачок © (01.02.09 16:27) [8]
    значит у тебя ошибка в программе
  • killaTank © (01.02.09 16:32) [9]
    Ладно посмотрим, Как мне задавать при создании Бд не лазя при этом в код программы ее имя и поля таблиц? Там судя по коду стандартное задается...
  • AndreyV © (01.02.09 16:33) [10]
    > [5] killaTank ©   (01.02.09 16:16)
    > Хорошо это я нашол. Компилирую, но ничего не создается!
    > Как мне задавать при создании Бд не лазя при этом в код
    > программы ее имя и поля таблиц?

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

    Медвежонок Пятачок он просто создает ее, без полей и прочего, а мне нужно чтобы создавались поля таблици..
  • Медвежонок Пятачок © (01.02.09 16:42) [13]
    если "он" - это пример, то он как раз создает с полями
  • sniknik © (01.02.09 16:43) [14]
    > Как мне задавать при создании Бд
    Бд для файл сервера это папка где таблицы размещаются...
  • killaTank © (01.02.09 16:48) [15]
    sniknik а если ее нет? Как это исправить?

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

    Ты путаешь БД и таблицу из БД
    Храни в одной таблице однородные данные, родственные связи, например, в другоий - людей, и делай между таблицами связь. С программой можешь поставлять пустую БД или создавать при запуске (что там в примерах непонятного), путь к ней храни где-нибудь или передавай хоть в командной строке.
  • Сергей М. © (01.02.09 16:58) [17]

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


    > если ее нет?


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

    > он просто создает ее
  • killaTank © (01.02.09 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;
  • Сергей М. © (01.02.09 17:07) [19]

    > TableName := 'CustInfo';
    >


    TableName := InputBox('Новая таблица', 'Введите имя новой таблицы', 'NewTable');
  • Anatoly Podgoretsky © (01.02.09 17:12) [20]
    > killaTank  (01.02.2009 16:48:15)  [15]

    Если ее нет, то ее надо создать - вот и все исправление.
  • killaTank © (01.02.09 17:19) [21]
    Сергей М. Спасибо огромное! Появляется окно ввожу название, и все, ничего не появляется не создается!

    Anatoly Podgoretsky
    Кого ее Бд? Я создал вместе с таблицей! В BDE Administrator и Database Desktop
  • AndreyV © (01.02.09 17:48) [22]
    > [18] killaTank ©   (01.02.09 17:04)
    > AndreyV
    > Ты имеешь в виду создать шаблон, по которому будет создаваться
    > новая таблица? А как сделать что бы пользователь вводил
    > сам  имя своей таблице?

    Я о том, что не надо каждому создавать свою, как документ в Word, т.е. все пользователи сохраняют свои данные в общей БД. А то у тебя получается: для себя одна БД, для сестры другая, для дедушки третья. Так что ли?
  • sniknik © (01.02.09 18:21) [23]
    > А как сделать что бы пользователь вводил сам  имя своей таблице?
    лучше всего чтобы никак... это дело программиста продумывать структуру. названия, связи в бд/таблицах.
    а пользователь вводит только данные.

    вас там вообще чему учат, в том месте где задачи ставят?
  • Anatoly Podgoretsky © (01.02.09 19:06) [24]
    > sniknik  (01.02.2009 18:21:23)  [23]

    Чему видят видно, интереснее вопрос где учат, как название кулинарного техникума?
  • killaTank © (02.02.09 09:13) [25]
    sniknik
    1. Учат учат, токо с Бд в первые столкнулся... Так нас ассемблеру учили.
    2. А ты подумал, что если каждая таблица будет с порядковым номером может возникнуть путаница? Гораздо легче когда пользователь называет свою таблицу своим именем и фамилией? Упрощает поиск.

    AndreyV
    Ну и как это реализовать? БД есть уже!
  • Sergey13 © (02.02.09 09:20) [26]
    > [25] killaTank ©   (02.02.09 09:13)
    > Гораздо легче когда пользователь называет свою таблицу своим
    > именем и фамилией? Упрощает поиск.

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

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

    Ну так и нарисовал бы тут ее структуру.
  • Сергей М. © (02.02.09 09:29) [27]

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


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


    Т.е. курсовая работа по каким-то причинам обязывает тебя использовать именно СУБД (например, Paradox), при том что знания в оной области у тебя практически нулевые, так ?
  • killaTank © (02.02.09 20:44) [28]
    Ну не нулевые, в делфи не работал просто, да с парадокс!
  • AndreyV © (02.02.09 21:19) [29]
    > [28] killaTank ©   (02.02.09 20:44)
    > Ну не нулевые, в делфи не работал просто, да с парадокс!

    Ты приведи структуру базы, как уже просили, чтоб более предметный разговор был.
  • Anatoly Podgoretsky © (02.02.09 23:19) [30]
    > AndreyV  (02.02.2009 21:19:29)  [29]

    Нельзя, вдруг ты скопируешь.
  • killaTank © (03.02.09 09:54) [31]
    хммм у меня есть БД (создал по книге из делфи через BDE администратор, потом в нем сделал таблицу через Database Desktop, где поместил 3 поля(пока), ФИО, Дата рождения/смерти, данные). Вот в принципе и вся таблица.
  • Сергей М. © (03.02.09 09:59) [32]

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


    А где же собственно дерево-то ?
    Дерево же предполагает некие родственные отношения ..
    Или они у тебя фигурируют в поле "данные" ?
  • Sergey13 © (03.02.09 10:51) [33]
    > [32] Сергей М. ©   (03.02.09 09:59)
    > Или они у тебя фигурируют в поле "данные" ?

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

    8-)

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

    В общем за курсач тебе пара корячится, ИМХО. 8-)
 
Конференция "Начинающим" » Создание базы (Db) с помошью Delphi [D7, dBase, FoxPro, Paradox]
Есть новые Нет новых   [134455   +50][b:0.001][p:0.001]