delphiaccess創建資料庫
A. Delphi程序中怎樣創建一個Access資料庫
如果是創建一個
access
資料庫,最簡單的辦法是先用
access
軟體建立一個空的
access
資料庫文件(*.mdb),然後再程序中復制到指定文件夾中。
也可以嘗試使用
Ole
建立,以下是示例代碼:
1234567procere TForm1.Button1Click(Sender: TObject);var CreateAccess:OleVariant;begin CreateAccess:=CreateOleObject('ADOX.Catalog'); CreateAccess.Create('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\test.mdb');end;
注意:建立資料庫,與建立資料庫中的表,不是同一種操作。
B. delphi ADOTable 能創建資料庫ACCESS里的一張新的數據表嗎
用Tbutton、Tadoquery 和 TADOConnection 控制項創建 access 資料庫表資料庫文件在 c:\mydb.mdb 在程序中添加AccessXP,ComObj 單元添加Tbutton、Tadoquery 和 TADOConnection 控制項 名稱分別為button1、adoquery1 和 ADOConnection1 button1 的click 事件程序如下:procere TForm1.Button1Click(Sender: TObject);
var AccessDB:OleVariant;
begin
try
AccessDB:=CreateOleObject('ADOX.Catalog');
AccessDB.Create('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\mydb.mdb');
finally
AccessDB:=VarNull;
end;
adoconnection1.ConnectionString:=
'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydb.mdb;Persist Security Info=False';
with adoquery1 do
begin
close;
sql.Clear;
sql.add('Create Table Tab1 (id counter,name string,pass string)');
execsql;
end;
end;
C. delphi怎麼創建帶暗碼的ACCESS資料庫
1建議不要用Access了,Access的機密很輕易被破解的,網上都頒布了delphi版的破Access暗碼的代碼了! 用sqlite或者Firebird吧 查看原帖>>
D. delphi用access資料庫做一個資料庫
登陸界面放一些東東,主要包用戶名(edit1)、密碼框(edit2)、登陸按鈕、如果有身份類別,那就放一組單選按鈕。登陸按鈕裡面寫上判斷用戶名及密碼的SQL語句:例如 str:=' select * from DB1 where name = '+edit.text+ 'and psw = ' +edit2.txt
如果這條語句執行後能查出數據,那麼就可以登陸,然後再用一個判斷語句看下當前身份是啥(資料庫中有相應表來保存身份信息的話就用SQL語句做判斷),接著FORM.SHOW就行了。form就是你要顯示的相應窗體名稱
E. 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
F. 怎樣創建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
G. 試簡述Delphi中快速建立一個簡單資料庫程序的步驟,包括所用控制項及設置方法(以access資料庫為例)
假設你建好了access資料庫,那麼,操作如下:
1. 在ADO標簽里拉出一個ADOConnection控制項,用於與資料庫建立連接,建議將loginprompt屬性去掉。
2.在ADO標簽里拉出一個ADOQuery控制項,用於查詢資料庫,並得到數據集合。
設置其connection屬性為上面添加的ADOConnection控制項的名字。
設置其SQL屬性比如為 select * from 數據表名稱
設置其Active屬性為true
3.從Data Access標簽里拉出一個DataSource控制項,他是一個位於ADOQuery控制項和其他數據顯示控制項的中介。
設置其Dataset屬性為上面添加的ADOQuery控制項的名字
4.從Data Control標簽里拉出一個DBGrid控制項,一個DBNavigator控制項,兩者的DataSource屬性都設置為上面添加的DataSource控制項的名字。
雙擊DBGrid控制項,在彈出菜單上「添加所有欄位」
H. 怎麼在delphi中用程序創建一個acess資料庫文件,並創建一個表(
var
MyAccess: TAccessApplication;//要加入access
FileName: WideString;
//************************
var ADOConnection:TADOConnection; //這個語句一定要加入adoconnection控制項 ,或者要加入uses adodb;
ADOQuery:TADOQuery;
temppath:string;//存放臨時目錄
tb:boolean;//檢查文件是否存在
begin
try
//首先判斷是否有這個資料庫
tb:= fileexists(edit1.Text );
if tb then
exit; //如果資料庫存在就退出
MyAccess := TAccessApplication.Create(Self);
// myaccess.CloseCurrentDatabase ;//close database engin
FileName := edit1.Text ; //如果路徑不存在,程序不會自動創建
MyAccess.NewCurrentDatabase(FileName);
myaccess.CloseCurrentDatabase;
MyAccess.Disconnect;
MyAccess.Free;
//以上建庫完畢 ,下面開始創建表和欄位
ADOConnection:=TADOConnection.Create(self);
ADOConnection.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+edit1.Text +';'+'Persist Security Info=False';
ADOConnection.LoginPrompt:=false;
ADOQuery:=TADOQuery.Create(self);
ADOQuery.Connection:=ADOConnection;
ADOQuery.SQL.Text:='Create Table Tab1 ( ID1 counter , Name1 integer, Age1 integer,Date1 string,c_date date)';
try
ADOConnection.Open;
ADOQuery.ExecSQL;
//*****************
adoconnection.Close ;
adoquery.Close ;
adoconnection.Free ;
adoquery.Free ;
//myaccess.Destroy ;
except
showmessage('建表失敗!');
exit;
end;
// myaccess.CloseCurrentDatabase;
// MyAccess.Disconnect;
// MyAccess.Free;
except
raise ewin32error.Create('資料庫創建錯誤....');
myaccess.Free;
exit;
end;
自己看一下吧
I. DELPHI怎麼聯接Access資料庫!!!BDE ADO都可以!!!!
用BDE(delphi5.0)的話,ACCESS資料庫的版本要用
97。先在BDE中新建一個驅動程序為ACCESS的別名,在別名中指定所創建的的資料庫的位置,然後在程序中放置一個database控制項,將database的Aliasname屬性設為BDE中的別名,將database的databasename屬性設為一個便於理解的名字,再將connected設為true,就可在table和query中調用了。。。
J. 高分求教 delphi ,我我用access建立一個資料庫,用ADOQuery1連接,裡面有兩個DBLookupComboBox1控制項
放兩個AdoQuery,命名為:Qry_DiQu和Qry_RanLiao,
放兩個DataSource命名為: Ds_DiQu和Ds_RanLiao,其DataSet設置為Qry_DiQu和Qry_RanLiao。
然後,設置comBox1指向地區:
qry_DiQu.sql.text:='select * from DiQu';
qry_DiQu.open; //這就能顯示的列表了
設置combox2指向燃料:
qry_RanLiao.sql.text:='select * from RanLiao where RanLiao.DiQu=:diQuID '; //注意這個參數:DiQuID,要在qry_DiQu里有同名欄位,指地區的ID
qry_RanLiao.DataSource:=ds_DiQu; //從這里取參數
qry_RanLiao.open; //讀取燃料了
------------------------我建議你用devExpress的Cx組件,cxImageCombobox--------------
with qry_DiQu do while not eof do with TCxImageComboboxItem(cbx_DiQu.properties.items.add) do begin
value:=fieldValues['地區編號'];
description:=fieldValues['地區名稱'];
NEXT; //嚇一跳記錄
end;
//雙擊cbx_DiQy後,會自動生成一個事件:cbx_diQu.properties.onChange,寫代碼:
with qry_RanLiao do begin
close;
sql.text:='select * from ranLiao where 地區號='+quotedStr(cbx_DiQu.editValue); --地區編號,取燃料
open;
--畫界面
cbx_ranliao.properties.items.clear;
while not eof do with TCxImageComboboxItem(cbx_ranliao.properties.items.add) do begin
value:=fieldValues['燃料ID'];
description:=fieldValues['燃料名稱'];
next;
end;
end;
寫的很倉促,大體是這個意思,有點小錯誤的話你自己理順理順把。