⑴ 怎樣創建access空白資料庫【Delphi】
function createDBfile(const Database,password: String):string;
var
Cat: Variant;
begin
Cat:= CreateOleObject('ADOX.Catalog');
Result:=Cat.Create('Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+Database+';Jet OLEDB:Database Password='+password+';');
end;
以上代碼是創建一個帶密碼的access 路徑是 Database,密碼是password。
詳情請看:
http://www.connectionstrings.com/access
⑵ 如何在delphi中動態創建access表,資料庫已經有了
直接用SQL語句就行了
⑶ delphi動態連接access資料庫
feng的類型是不是應該是string?
無法調用會不是是因為代碼里有語法錯誤了?
按ctrl+F9編譯一下,如果有錯誤會提示你。
⑷ delphi下使用ACCESS是如何進行搭建的
1、放置adoconnection控制項
設置NAME屬性
簡單來說就是該控制項的名字 為以後在代碼中調用他用的
這個CONNECTIONSTRING屬性是設置連接字元串的
連接什麼資料庫都要用他
D:\database\bmgl.mdb 這句是連接路徑
LOGINPROMPT屬性是設置是否每次連接都提示輸入密碼什麼的
這個一般設置為FALSE
CONNECTED屬性設置為TRUE的時候才代表已經連接成功
這個控制項已經基本設置完了
2、放置ADOTABLE控制項
設置CONNECTION屬性 為剛才的那個控制項
這樣才能連接到剛才的那個ACCESS資料庫
剛才那個控制項的名為con1 這里就要設置了
然後設置TABLENAME屬性 剛才是連接資料庫 沒有連接表
這個屬性就是設置連接的表名 EG:部門信息表
現在把ADOTABLE的ACTIVE屬性設置成TRUE就可以連接該表了
現在就連接成功了
數據連接任務已經完成 現在想把他顯示出來的話還需要一個DATASOURSE控制項
3、放置DATASOURSE控制項
設置DATASET屬性才能把數據源顯示出來
設置DATASET屬性為剛才的ADOTABLE控制項 他的NAME屬性為tbl1
現在設置上就可以了
4、最後一步
想把bmgl.mdb資料庫中的「部門信息表」表中的內容顯示出來的話最簡單的就是添加一個DBGRID控制項
設置DATASOURCE屬性為剛才放置的DATASOURSE控制項 他的NAME屬性為ds1
設置上
搞定!
⑸ 如何在DELPHI里動態創建一個access表
用adoquery這個控制項
先連接好資料庫
adoquery1.close;
adoquery1.sql.clear;
adoquery1.sql.add('create table 表名( 學號 char(20),姓名 char(20),班級 char(20))');
adoquery1.execsql;
可以了.
⑹ Delphi程序中怎樣創建一個Access資料庫
如果是創建一個 access 資料庫,最簡單的辦法是先用 access 軟體建立一個空的 access 資料庫文件(*.mdb),然後再程序中復制到指定文件夾中。
也可以嘗試使用 Ole 建立,以下是示例代碼:
procereTForm1.Button1Click(Sender:TObject);
var
CreateAccess:OleVariant;
begin
CreateAccess:=CreateOleObject('ADOX.Catalog');
CreateAccess.Create('Provider=Microsoft.Jet.OLEDB.4.0;DataSource=d: est.mdb');
end;
注意:建立資料庫,與建立資料庫中的表,不是同一種操作。
⑺ delphi 創建資料庫的具體步驟
的確可以通過DELPHI數據組件執行SQL語句來創建資料庫,並完成表和視圖的建立工作,但我要當頭給你潑一瓢冷水,你現在連步驟都不清楚,怎麼來創建,還是老老實實的打開SQL server的企業管理器,在那裡面去建立資料庫吧;或者打開ACCESS的建立一個資料庫,然後再到DELPHI中去聯接資料庫吧。用DELPHI代碼創建資料庫的確是高手乾的事,沒有一定的功底是不行的,也很麻煩,要記得很多SQL的關鍵字,而直接在企業管理器中設計資料庫,幾乎不需要記任何關鍵字。
⑻ delphi動態連接access資料庫,connStr中Data Source用參數mdbpath代替,求該參數地址,代碼如下
由於access資料庫沒有網路功能,所以應用程序只能在本機找到資料庫,因此資料庫的地址就是一個本機的資料庫存放絕對地址,你需要動態載入你的資料庫地址,所以只要將你的函數加上一個字元串參數作為你的資料庫絕對地址就可以了:
function TForm1.ConnDB(mdbPath:string): Boolean;
將你在var中申明的mdbPath: string;去掉
另外你的這些代碼中好像沒有運行函數conndb的地方。。。。
還有一個相對的動態連接,就是只連接應用程序同文件夾下的access資料庫的方法是這樣的
不需要改函數,給mdbPath賦值:mdbPath := ExtractFilePath(Application.ExeName);或者直接:
ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OlEDB.4.0;Data
Source='+
ExtractFilePath(Application.ExeName)+'\States.mdb;User
ID=admin;Password=;Persist security Info=False';
這樣你連這個mdbpath字元串都不需要了
不知道滿足你的需求了沒有,各種方式你可以根據自己需求實現
⑼ delphi怎麼創建帶密碼的ACCESS資料庫
Source:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=ku.mdb';User Id=xxx;PassWord = 123456 CreateDB:=CreateOleObject('ADOX.Catalog');
若是不行,看看下面:
加了密碼的Access資料庫連接字元串如何設置?
2007年03月30日 星期五 13:49
Access資料庫在一些小的系統程序中經常用到,為了給資料庫中的信息增加一些安全性,最簡單的方法就是給Access文件加上密碼(當然也可以將資料庫中的數據進行加密後在存放到文件里來保護數據,只不過這種方法需要在程序中考慮加密和解密的問題),那針對有密碼的文件通過資料庫連接字元串來進行連接訪問呢?下面是我在網路上找到的一些解決方案。收集起來以備後用。
access資料庫加密分3種
以下以access xp為例
1、工具 -> 安全-> 加密/解密資料庫,打開時無需任何更改
2、工具 -> 安全-> 設置資料庫密碼,打開密碼為 1 打開時需要使用
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\1.mdb;User ID=admin;Password=;Jet OLEDB:Database Password=1"
也可以用
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\1.mdb;User ID='admin';Password=;Jet OLEDB:Database Password='1'"
3、工具 -> 安全-> 用戶組與許可權 .... ,用戶名為 admin 密碼為 rr 用戶組文件為 c:\system.mdw,打開時需要使用
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\1.mdb;User ID=admin;Password=rr;Jet OLEDB:Database Password=1;Jet OLEDB:System database=c:\system.mdw"
也可以用
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\1.mdb;User ID='admin';Password='rr';Jet OLEDB:Database Password='1';Jet OLEDB:System database=c:\system.mdw"
如果在區域網上共享訪問資料庫,只要將絕對路徑更改為 "\\計算機名\共享目錄名\文件名.MDB" 即可,比如
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\access911\floder1\1.mdb;User ID='admin';Password='rr';Jet OLEDB:Database Password='1';Jet OLEDB:System database=\\access911\floder1\system.mdw"
直接在連接字串裡面定義 MODE 屬性達到獨占/公享等目的也是可以的,比如:
JetOLEDB:GlobalPartialBulkOps=2;JetOLEDB:RegistryPath=;JetOLEDB:DatabaseLockingMode=1;JetOLEDB:DatabasePassword=;DataSource=D:\db.mdb;Password=;JetOLEDB:EngineType=5;JetOLEDB:GlobalBulkTransactions=1;Provider=Microsoft.Jet.OLEDB.4.0;JetOLEDB:Systemdatabase=;JetOLEDB:SFP=False;ExtendedProperties=;Mode=ShareDenyNone;JetOLEDB:NewDatabasePassword=;JetOLEDB:CreateSystemDatabase=False;JetOLEDB:Don'tCopyLocaleonCompact=False;JetOLEDB:CompactWithoutReplicaRepair=False;UserID=Admin;JetOLEDB:EncryptDatabase=False
注意:Access 2007 在數據格式上有了很大變化,因此數據提供者已經不是 jet db 4.0 了,Microsoft.ACE.OLEDB.12.0 才是 *.accdb 的數據提供者。
Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=C:\Documents and Settings\chenge\My Documents\資料庫1.accdb;Mode=Share Deny Read|Share Deny Write;Extended Properties="";Jet OLEDB:System database=C:\Documents and Settings\chenge\Application Data\Microsoft\Access\System.mdw;Jet OLEDB:Registry Path=Software\Microsoft\Office\12.0\Access\Access Connectivity Engine;Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=6;Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False;Jet OLEDB:Support Complex Data=True
⑽ delphi如何利用ini文件動態連接ACCESS資料庫
不建議這樣做 這樣做的結果就是資料庫的信息 包括用戶名 密碼等全部泄漏
如果你非要這么坐的話 那就正常操作INI文件即可
你先看看ini文件 怎麼操作