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

Вниз

Новая база   Найти похожие ветки 

 
WhiteCat   (2006-07-22 21:53) [0]

Здравствуйте!
Подскажите, пожалуйста, как создать новую Access базу с несколькими таблицами из программы?


 
DiamondShark ©   (2006-07-22 22:28) [1]

Импортировать библиотеку типов DAO, называется она как-то вроде
Microsoft DAO X.X Object Library

потом что-то вроде такого:

var
  eng: DBEngine;
  db: Database;
  td: TableDef;
  f: Field;
begin
  eng := CoDBEngine.Create();
  db := eng.CreateDatabase("c:\mydb.mdb", ";LANGID=0x0419;CP=1251;COUNTRY=0", dbVersion30);
  td := db.CreateTableDef("MyTable", EmptyParam, EmptyParam, EmptyParam);
  f := td.CreateField("Id", dbLong, 4);
  td.Fields.Append(f);
  f := td.CreateField("Name", dbText, 50);
  td.Fields.Append(f);
  db.TableDefs.Append(td);
  db.Close();
end;


 
WhiteCat   (2006-07-22 23:20) [2]

Другой вопрос:
правильно ли будет:
если я создам пустую базу в Access, буду ее копировать в новый файл и подключаться к ней?


 
Palladin ©   (2006-07-22 23:44) [3]

Не сказать что не правильно, но хитро это точно. Главное - вполне рабочий способ. В теории, способ сломается тогда, когда полностью пропадет обратная совместимость Jet, установленной на клиенте и с которой создана изначальная БД. Что тоже в теории очень мало вероятно. :)


 
Palladin ©   (2006-07-22 23:47) [4]


> Что тоже в теории очень мало вероятно. :)

Извиняюсь, на практике очень мало вероятно...


 
Fay ©   (2006-07-23 09:15) [5]

А каким боком тут MSSQL ?


 
Anatoly Podgoretsky ©   (2006-07-23 11:55) [6]

Fay ©   (23.07.06 09:15) [5]
А хрен его знает.


 
Anatoly Podgoretsky ©   (2006-07-23 11:56) [7]

WhiteCat   (22.07.06 21:53)  
Это два разных вопроса - создание базы и создание таблиц
первое CREATE DATABASE
второе CREATE TABLE


 
WhiteCat   (2006-07-23 22:17) [8]

to Anatoly
Ok! Подскажите как мне создать базу(как файл *.mdb) из Delphi и приконектится к ней. Создание таблиц я так понимаю через ADOCommand отработает.


 
Barsky ©   (2006-07-24 12:58) [9]

Когда-то мне ответили на данный вопрос так:

Если таблицы не создавать, т.е. пустую базу и для русского языка, то можно так:

uses Dialogs, ComObj, ActiveX;
function CreateDatabase(DatabaseName: string): boolean;
var
DBEngine, Workspace: Variant;
const
dbLangGeneral = ";LANGID=0x0409;CP=1252;COUNTRY=0";
dbLangCyrillic = ";LANGID=0x0419;CP=1251;COUNTRY=0";
dbVersion20 = 32;
dbVersion30 = 64;
begin
result := false;
try
  try
    DBEngine := CreateOleObject("DAO.DBEngine.36");
  except
    try {For DAO 3.5}
      DBEngine := CreateOleObject("DAO.DBEngine.35");
    except
      raise;
    end;
  end;
  Workspace := DBEngine.Workspaces[0];
  try
    Workspace.CreateDatabase(
      DatabaseName,
      dbLangCyrillic + ";CollatingOrder=1049",
      dbVersion30);
    result := true;
  except on e0: EOleException do
      ShowMessage(e0.Message);
  end;
except on e1: EOleException do
    ShowMessage(e1.Message);
end;
end;

begin
CoInitialize(nil);
if CreateDatabase("Base777") then ShowMessage("OK")
else ShowMessage("Error")
end.



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

Форум: "Базы";
Текущий архив: 2006.09.24;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.065 c
2-1157364800
Ragazor
2006-09-04 14:13
2006.09.24
Как создать в Dll переменную TDataModule из DataModule1.pas


15-1157098933
ArtemESC
2006-09-01 12:22
2006.09.24
Людмила Путина вступилась за школьников


2-1157392733
serko
2006-09-04 21:58
2006.09.24
Мигание формы!


15-1156880116
Gero
2006-08-29 23:35
2006.09.24
Халява существует!


2-1157104819
RebroFF
2006-09-01 14:00
2006.09.24
Работа с PopUpMenu





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