⑴ 怎样创建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文件 怎么操作