IBX.IBDatabase.TIBDatabase.CreateDatabase
Delphi
procedure CreateDatabase;
C++
void __fastcall CreateDatabase(void);
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
procedure function |
public | IBX.IBDatabase.pas IBX.IBDatabase.hpp |
IBX.IBDatabase | TIBDatabase |
説明
Params を使用してデータベースを作成します。
CreateDatabase を呼び出すと、CREATE DATABASE コマンドの残りの部分に Params を使用して、データベースを作成します。
たとえば、ローカル InterBase データベースを作成したい場合、次の作業を行います:
- データベース名を、ドライブ、パス、データベースのファイル名に設定。
- Params を、CREATE DATABASE 文のパラメータに設定: USER "SYSDBA" PASSWORD "masterkey" PAGE_SIZE 4096
- SQLDialect 値を設定。
- CreateDatabase メソッドを呼び出す。
CreateDatabase プロシージャの呼び出し方法の例です:
Delphi:
CreateDatabase('localhost','C:\ProgramData\Embarcadero\InterBase\gds_db\examples\database\test.ib');
C++:
createDatabase("localhost", "C:\\ProgramData\\Embarcadero\\InterBase\\gds_db\\examples\\database\\test.ib");
以下は、CreateDatabase をプログラムから使用する Delphi および C++ の例です:
例(Delphi):
Procedure CreateDatabase(ServerName,RemotePath: string);
var
IBDatabaseTest: TIBDatabase;
begin
IBDatabaseTest := TIBDatabase.Create(nil);
try
try
IBDatabaseTest.DatabaseName := ServerName + ':' + RemotePath;
IBDatabaseTest.SQLDialect := 3;
IBDatabaseTest.Params.Clear;
IBDatabaseTest.Params.Add('USER "SYSDBA"');
IBDatabaseTest.Params.Add('PASSWORD "masterkey"');
IBDatabaseTest.Params.Add('page_size=4096');
IBDatabaseTest.LoginPrompt := False;
IBDatabaseTest.CreateDatabase;
except
on E: exception do
Showmessage(E.ClassName + ': ' + E.Message);
end;
finally
IBDatabaseTest.Free;
end;
end;
例(C++):
void createDatabase(UnicodeString ServerName, UnicodeString RemotePath) {
TIBDatabase *IBDatabaseTest = new TIBDatabase(NULL);
try {
IBDatabaseTest->DatabaseName = ServerName + ":" + RemotePath;
IBDatabaseTest->SQLDialect = 3;
IBDatabaseTest->Params->Clear();
IBDatabaseTest->Params->Add("USER \"SYSDBA\"");
IBDatabaseTest->Params->Add("PASSWORD \"masterkey\"");
IBDatabaseTest->Params->Add("page_size=4096");
IBDatabaseTest->LoginPrompt = false;
IBDatabaseTest->CreateDatabase();
}
catch (Exception &e) {
ShowMessage(e.ClassName()+":"+e.Message);
}
}