Главная страница
    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.055 c
3-1153645213
mr. Lonely
2006-07-23 13:00
2006.09.24
Scroll у TDBGrid


15-1157228424
Chort
2006-09-03 00:20
2006.09.24
Разогнать видеокарту


1-1155123140
Stanislav
2006-08-09 15:32
2006.09.24
Нажата ли клавиша Shift


15-1157114978
sergey888
2006-09-01 16:49
2006.09.24
Импортеры алколя предлагают своих программистов


3-1153319574
barakuda
2006-07-19 18:32
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский