Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Динамическое создание БД, Хочу попытаться сделать... 
V
    Опции темы
McDevil
Дата 11.2.2006, 16:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 285
Регистрация: 8.12.2005
Где: Казахстан, Павлод ар

Репутация: нет
Всего: 3



Кто нибудь делал динамическое создание mdb - ой базы ч/з свое приложение, если делали, то скиньте коду на размышление или примерчик ... Вернее создать саму базу я смогу, а вот создать таблицу с полями(ключевые там и т.д.) - вот ето вопрос ??? smile

Это сообщение отредактировал(а) McDevil - 11.2.2006, 16:07


--------------------
 мы знаем столько, сколько можем, а можем столько, сколь хотим... 

Тестируем программу: SPL-программа аналогов функций  
PM MAIL WWW ICQ   Вверх
Vas
Дата 12.2.2006, 10:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 29.6.2005
Где: Stavropol region

Репутация: 23
Всего: 28



Цитата(McDevil @ 11.2.2006, 16:04 Найти цитируемый пост)
Вернее создать саму базу я смогу, а вот создать таблицу с полями(ключевые там и т.д.) - вот ето вопрос ??? smile


А что за проблема испоьзуй SQL.
Код

create table table1 
(id number(5),
name varchar(2),
constraint pk_table1 primary key (id))

Пример с синтаксисом БД Oracle, для Access может в чем-то различаться, но принцип тот же.


--------------------
И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель. ... (А.С. Пушкин)
PM MAIL   Вверх
McDevil
Дата 12.2.2006, 11:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 285
Регистрация: 8.12.2005
Где: Казахстан, Павлод ар

Репутация: нет
Всего: 3



Цитата(Vas @ 12.2.2006, 10:34 Найти цитируемый пост)
А что за проблема испоьзуй SQL.
Не пройдет уже пробовал надо использовать что-то типа DAO, но DAO создает в формате access 97, а надо хотя бы в 2000. Юзал модуль DAO 2002, но что - то недошло до меня как им пользоваться ... smile



--------------------
 мы знаем столько, сколько можем, а можем столько, сколь хотим... 

Тестируем программу: SPL-программа аналогов функций  
PM MAIL WWW ICQ   Вверх
Vas
Дата 12.2.2006, 13:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 29.6.2005
Где: Stavropol region

Репутация: 23
Всего: 28



Цитата(McDevil @ 12.2.2006, 11:53 Найти цитируемый пост)
Не пройдет уже пробовал ...

Не может быть... Для создания используй ADOQuery и метод ExecSQL.

Код

Call ExecSQL to execute the SQL statement currently assigned to the SQL property. Use ExecSQL to execute 
queries that do not return a cursor to data (such as INSERT, UPDATE, DELETE, and CREATE TABLE).

ExecSQL returns an integer value reflecting the number of rows affected by the executed SQL statement.




--------------------
И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель. ... (А.С. Пушкин)
PM MAIL   Вверх
McDevil
Дата 12.2.2006, 17:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 285
Регистрация: 8.12.2005
Где: Казахстан, Павлод ар

Репутация: нет
Всего: 3



хм... Что - то интересное, а можно примерчик масенький на мыло: [email protected] smile


--------------------
 мы знаем столько, сколько можем, а можем столько, сколь хотим... 

Тестируем программу: SPL-программа аналогов функций  
PM MAIL WWW ICQ   Вверх
DDX
  Дата 14.2.2006, 15:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 127
Регистрация: 31.1.2005
Где: Москва

Репутация: 5
Всего: 5



McDevil,

Код

uses Variants,ADODB, ComObj,.....
....

function CreateAccessDatabase(DBPath: string) : boolean;
var
  Catalog: OleVariant;
begin
with dm do begin
  try
    Catalog := CreateOleObject('ADOX.Catalog');  // Catalog - ñàìûé ãëàâíûé îáúåêò ADOX
    Catalog.Create('Provider=Microsoft.Jet.OLEDB.4.0; Data Source=' + DBPath + ';'); // âîò ýòî ñîçäàåò "ïóñòîé" mdb
    adoconnection1.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + DBPath + ';Mode=ReadWrite;';
    CreateTable;
    Result := True;
  except
    Application.MessageBox('Îøèáêà ïðè ñîçäàíèè ôàéëà ðåçóëüòàòîâ!', 'Îøèáêà!', MB_OK + MB_ICONERROR);
    Result := False;
  end;
  Catalog := Unassigned;
end;
end;

procedure CreateTable;
begin
with dm do try
                adoconnection1.Open;
                adoconnection1.execute ('CREATE TABLE student (s_id COUNTER PRIMARY KEY, s_name STRING, s_sname STRING, s_fname STRING, s_city STRING, s_school STRING, s_schooltype STRING, s_phone STRING, s_discname STRING, s_result STRING, secretary STRING, checkmark LOGICAL, q_num INTEGER);');
                //adoconnection1.execute ('CREATE TABLE result (r_id COUNTER, s_id INTEGER, q_no INTEGER NOT NULL, a_ans INTEGER, checkresult STRING, CONSTRAINT stud FOREIGN KEY (s_id) REFERENCES student, CONSTRAINT stud PRIMARY KEY (s_id, q_no), checkmark LOGICAL);');
                adoconnection1.execute ('CREATE TABLE result (s_id INTEGER NOT NULL, q_no INTEGER NOT NULL, a_ans INTEGER, checkresult STRING, CONSTRAINT stud FOREIGN KEY (s_id) REFERENCES student ON DELETE CASCADE, CONSTRAINT s_key  PRIMARY KEY  (s_id, q_no));');
                adoconnection1.execute ('CREATE TABLE info (discname STRING, testdate STRING, testdescr STRING);');
                adtInfo.TableName:='info';
                adtStudent.TableName:='student';
                adtResult.TableName:='result';
        except
                on EO: EDatabaseError do MessageDlg('Ïðè ïîïûòêå îòêðûòèÿ áàçû ðåçóëüòàòîâ âîçíèêëà îøèáêà êëàññà EDatabaseError!' + chr(13)+ 'Îïèñàíèå îøèáêè: '+ eo.Message , mtError, [mbOk],0);
                on EO: EDBEngineError do MessageDlg('Ïðè ïîïûòêå îòêðûòèÿ áàçû ðåçóëüòàòîâ âîçíèêëà îøèáêà êëàññà EDBEngineError! '+ chr(13)+ 'Îïèñàíèå îøèáêè: '+ eo.message , mtError, [mbOk],0);
        end;

end;


а вообще, drkb и faq ещё никто не отменял!

Это сообщение отредактировал(а) DDX - 14.2.2006, 15:08
--------------------
Учиться, учитьcя и ещё раз учиться  
PM MAIL WWW   Вверх
McDevil
Дата 14.2.2006, 15:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 285
Регистрация: 8.12.2005
Где: Казахстан, Павлод ар

Репутация: нет
Всего: 3



DDX, спасибо большое... smile


--------------------
 мы знаем столько, сколько можем, а можем столько, сколь хотим... 

Тестируем программу: SPL-программа аналогов функций  
PM MAIL WWW ICQ   Вверх
McDevil
Дата 22.2.2006, 23:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 285
Регистрация: 8.12.2005
Где: Казахстан, Павлод ар

Репутация: нет
Всего: 3



Уф, все сделалл теперь к юзеру поставляется только exe-чник... Всем спасибо...


--------------------
 мы знаем столько, сколько можем, а можем столько, сколь хотим... 

Тестируем программу: SPL-программа аналогов функций  
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0464 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.