delphi连接数据库,真的就这么不利索吗?

sxbug 2018-05-06 11:34:14
一个最简单的单机程序,想连一个数据库,就想到了Access,自认为装了office应该就可以直接访问了,其实还是有不少的坑。
首先来个unidac,uniconnect+accessprovide+unitable,自己的机器都能运行,拷贝到其它的电脑上,显示错误:无法访问的注册信息 ace dsn。。。。。。,也不知道缺了什么。

用回ADOconnect,直接修改build后的connectstring,居然说 对象没发访问。最后没有办法搞了一个udl文件才能用。

我就想问:delphi下什么数据库,是不用安装的,单文件拷贝 就可以用的?谢谢
...全文
2104 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaocongzhi 2018-06-06
  • 打赏
  • 举报
回复
其它电脑上也装access才行吧
MTming807 2018-06-06
  • 打赏
  • 举报
回复
你尝试过用Datasnap改成服务器吗?变成网络数据库
Frank.WU 2018-06-05
  • 打赏
  • 举报
回复
引用 14 楼 liups 的回复:
[quote=引用 13 楼 hj3000 的回复:] FireDAC+Sqlite是比较好的选择。
sqlite好象要带dll吧?![/quote] Delphi现在早已不是以前的吴下阿蒙,肯定的告诉你说:直接 FireDac + sqlite 不用带DLL!!
hj8090 2018-05-11
  • 打赏
  • 举报
回复
FireDAC+Sqlite发布是不带dll的,会自动打包到exe中的,还可以加密数据文件,至少XE3是这样。 access的版本不同,连接语句会有相应的变化。
nebula845026 2018-05-10
  • 打赏
  • 举报
回复
引用 16 楼 nebula845026 的回复:
delphi连接access的话我推荐你用DAO组件,这个专门针对access的,只需要指定文件名就可,甚至不需要装Office.如果你是要在目标PC上编辑access文件的话那就需要装了
注意是DAO不是ADO,ADO的话你用JET驱动在Win7和XP下好用,到了Win10上就不行了
nebula845026 2018-05-10
  • 打赏
  • 举报
回复
delphi连接access的话我推荐你用DAO组件,这个专门针对access的,只需要指定文件名就可,甚至不需要装Office.如果你是要在目标PC上编辑access文件的话那就需要装了
蜀天下100000 2018-05-10
  • 打赏
  • 举报
回复
跨PC访问也有操作系统环境问题,OFFIEC驱动也有多个版本
doloopcn 2018-05-09
  • 打赏
  • 举报
回复
引用 9 楼 liups 的回复:
请参考我以前的回复,8楼! https://bbs.csdn.net/topics/200079668
你以前的帖子,以我经验看来是SQL语句本身的问题,因为ACCESS的SQL语句规范与FoxBase或DBase以及它们的版本都有关系,所以你在写SQL语句的时候,一定要找到DBF的版本及它能支持的SQL语句规范。以前在FoxBase年代,能在Access上通用的SQL语句非常有限。 很多时候,如果想不改动代码,又要获得相应的结果,你可以用ODBC代替JET
hj8090 2018-05-09
  • 打赏
  • 举报
回复
FireDAC+Sqlite是比较好的选择。
liups 2018-05-09
  • 打赏
  • 举报
回复
引用 10 楼 doloopcn 的回复:
[quote=引用 9 楼 liups 的回复:] 请参考我以前的回复,8楼! https://bbs.csdn.net/topics/200079668
你以前的帖子,以我经验看来是SQL语句本身的问题,因为ACCESS的SQL语句规范与FoxBase或DBase以及它们的版本都有关系,所以你在写SQL语句的时候,一定要找到DBF的版本及它能支持的SQL语句规范。以前在FoxBase年代,能在Access上通用的SQL语句非常有限。 很多时候,如果想不改动代码,又要获得相应的结果,你可以用ODBC代替JET [/quote] 可能没有描述清楚,我想让楼主看的是使用ado连接access的部分,实际上并不需要安装access,因为win会自带ado驱动(至少从XP到7都是如此)
lyhoo163 2018-05-09
  • 打赏
  • 举报
回复
使用ADO连接ACCEss非常方便,只需要套接字符即可以。
liups 2018-05-09
  • 打赏
  • 举报
回复
引用 13 楼 hj3000 的回复:
FireDAC+Sqlite是比较好的选择。
sqlite好象要带dll吧?!
zhoufs 2018-05-08
  • 打赏
  • 举报
回复
Delphi连接Access数据库,根本不需要用unidac。

zhoufs 2018-05-08
  • 打赏
  • 举报
回复
把Access数据库文件,放在与可执行程序相同的目录,则 数据库文件名前,无需加路径!
liups 2018-05-08
  • 打赏
  • 举报
回复
请参考我以前的回复,8楼! https://bbs.csdn.net/topics/200079668
doloopcn 2018-05-08
  • 打赏
  • 举报
回复
........ADO 你说的,真没有用过的
22222bbb 2018-05-07
  • 打赏
  • 举报
回复
access+ADO可以随拷贝到哪里都可以运行啊,你是不是连接字符串里的路径写成绝对路径了
lyhoo163 2018-05-07
  • 打赏
  • 举报
回复
实际上,Delphi最大的优势,就是数据库功能了。 delphi通过BDE方式连接数据库,起初的版本,都是如此。 目前,ADO连接方式,比较流行。连接时,需要通过连接控件,通过套接字建立连接。 这些建立连接,都是很方便的。 你说的ACCESS,它是Office功能之下,如果你要通过Office编辑它,当然要安装Office了,如果仅是Delphi使用它,只要程序中建立连接,就可以了。
秋天之落叶 2018-05-07
  • 打赏
  • 举报
回复
文本文件不用安装
  • 打赏
  • 举报
回复
如果数据量不大,可以使用TClientDataset,有LoadFromFile、SaveToFile方法支持文件访问,文件支持二进制和xml,如果重数据库操作,可以使用FireBird嵌入版或者NexusDB免费版。

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧