Главная страница
    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.47 MB
Время: 0.041 c
15-1157358948
Crazy monkey
2006-09-04 12:35
2006.09.24
Как отправить СМС из Латвии в Россию?


15-1157281466
Desdechado
2006-09-03 15:04
2006.09.24
Тип запуска для драйвера


15-1157197541
Крокодил Гений
2006-09-02 15:45
2006.09.24
посоветуйте хостинг??


9-1134713252
4ECHOK
2005-12-16 09:07
2006.09.24
[SIS и GLScene] Пропали DummyCube.


2-1157266560
Itoixxx
2006-09-03 10:56
2006.09.24
Работа с филдами в ибКвнри





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