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;
写的很仓促,大体是这个意思,有点小错误的话你自己理顺理顺把。