全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2108
推到 Plurk!
推到 Facebook!

如何程式建立一個空的Access資料庫 (BC++B 語法)

缺席
salo0610
高階會員


發表:42
回覆:120
積分:107
註冊:2003-02-18

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-05-14 14:11:45 IP:220.132.xxx.xxx 未訂閱
各位大大好!!

我試後,可以建立一個空的 access 資料庫了。

Variant cnn = Variant::CreateObject("ADOX.Catalog");
cnn.OleFunction("Create", "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\TEST.mdb" );

但如何可以動態指定 mdb 存放的路徑呢?? 我把它改成以下的方式就會出錯??

String s = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\TEST.mdb";
Variant cnn = Variant::CreateObject("ADOX.Catalog");
cnn.OleFunction("Create", s );

所以想請問一下,各位大大如何正確的帶入OleFunction 參數?? ---->P1 p1

template
Variant Variant::OleFunction(const String& name, P1 p1)
{
TAutoArgs<1> args;
args[1] = p1;
return OleFunction(name, static_cast(&args));
}


謝謝!!


各位大大好!!
想請教各位大大如何將以下的 delphi 轉成 bc b,或者有其它的方法達到同樣的結果??
謝謝!!

procedure TForm1.Button1Click(Sender: TObject);
var cAccess:variant;
ok:Boolean;
begin
ok:=True;
try
if FileExists(edit1.text) then deletefile(edit1.text);
CAccess := CreateOleObject('ADOX.Catalog');
CAccess.Create('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' edit1.text );
except
ok:=False;
end;
if ok then ShowMessage('建立' edit1.text '成功!')
else ShowMessage('建立' edit1.text '失敗!');
end;
end.

以下是我轉的語法,但有錯誤!!
#include < ComObj.hpp>


Variant cnn = CreateOleObject("ADOX.Catalog");
cnn.OlePropertySet("Create","Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Texe.mdb");
編輯記錄
salo0610 重新編輯於 2008-05-14 14:13:37, 註解 無‧
salo0610 重新編輯於 2008-05-20 14:55:27, 註解 無‧
HikaruGo
中階會員


發表:22
回覆:69
積分:88
註冊:2007-12-09

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-05-14 16:06:13 IP:61.62.xxx.xxx 訂閱
另一個做法
1.準備一個Empty.mdb
2. CopyFile

===================引 用 salo0610 文 章===================
各位大大好!!

想請教各位大大如何將以下的 delphi 轉成 bc b,或者有其它的方法達到同樣的結果??

謝謝!!


procedure TForm1.Button1Click(Sender: TObject);
var cAccess:variant;
ok:Boolean;
begin
ok:=True;
try
if FileExists(edit1.text) then deletefile(edit1.text);
CAccess := CreateOleObject('ADOX.Catalog');
CAccess.Create('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' edit1.text );
except
ok:=False;
end;
if ok then ShowMessage('建立' edit1.text '成功!')
else ShowMessage('建立' edit1.text '失敗!');
end;
end.

以下是我轉的語法,但有錯誤!!
#include < ComObj.hpp>


Variant cnn = CreateOleObject("ADOX.Catalog");
cnn.OlePropertySet("Create","Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Texe.mdb");
salo0610
高階會員


發表:42
回覆:120
積分:107
註冊:2003-02-18

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-05-20 14:56:20 IP:220.132.xxx.xxx 未訂閱
各位大大好!!

我試後,可以建立一個空的 access 資料庫了。

Variant cnn = Variant::CreateObject("ADOX.Catalog");
cnn.OleFunction("Create", "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\TEST.mdb" );


但如何可以動態指定 mdb 存放的路徑呢?? 我把它改成以下的方式就會出錯??

String s = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\TEST.mdb";
Variant cnn = Variant::CreateObject("ADOX.Catalog");
cnn.OleFunction("Create", s );


所以想請問一下,各位大大如何正確的帶入OleFunction 參數?? ---->P1 p1

template
Variant Variant::OleFunction(const String& name, P1 p1)
{
TAutoArgs<1> args;
args[1] = p1;
return OleFunction(name, static_cast(&args));
}

謝謝!!
couchpotato
初階會員


發表:1
回覆:16
積分:33
註冊:2008-05-09

發送簡訊給我
#4 引用回覆 回覆 發表時間:2008-05-26 18:54:36 IP:220.128.xxx.xxx 未訂閱

[code cpp]
String s = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\TEST2.mdb";
Variant cnn = Variant::CreateObject("ADOX.Catalog");
cnn.OleFunction("Create", StringToOleStr(s));

[/code]
------
我是機器人,我不接受簡訊.
系統時間:2024-04-25 17:06:44
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!