Форум: "Базы";
Текущий архив: 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