求vb连接access数据库代码
用vb实现稳定的ACCESS多用户操作接口。最多20个用户,应用程序已经差不多,现在就只需要解决一个多用户同时读写数据库的问题。也就是说用户端是VB写的软件,共同访问一个...
用vb实现稳定的ACCESS多用户操作接口。最多20个用户,应用程序已经差不多,现在就只需要解决一个多用户同时读写数据库的问题。
也就是说用户端是VB写的软件,共同访问一个网络硬盘上的数据库,需要加一部分的多用户互斥访问代码。
说明一下,单用户访问连接我已经实现了! 展开
也就是说用户端是VB写的软件,共同访问一个网络硬盘上的数据库,需要加一部分的多用户互斥访问代码。
说明一下,单用户访问连接我已经实现了! 展开
5个回答
展开全部
其实这个不是简单的代码能够解决的事情,主要问题在程序架构上,也就是你如果处理多个客户端同时访问数据库的策略问题。
20个用户,在同一时刻写入数据库的可能性不大。其实大部分操作都是读操作,打开一个只读连接就行了,Access能支持同时打开64个连接,足够你用了。如果写操作的话只能有一个,如果尝试打开多个支持操作的连接话就出错。
基于上面的这个特点,读操作的话直接用只读连接。如果是写操作的话,在打开连接之前,你可以在网络硬盘上放一个标志文件,如名字叫lock,用完连接关闭后同时把文件删了。多个用户写数据打开连接的话就根据这个文件是否存在来决定是否继续,如果存在就让程序迟延1秒再继续。
用Access做这样的工作是比较麻烦的,比较好的办法还是用换成sqlserver或mysql等网络数据库,你几乎不用改代码,数据库帮你做了。毕竟,你的access文件放在网络硬盘上,局域网里的用户都对它有修改权限,不安全,有人给你胡乱修改一下就麻烦了。
20个用户,在同一时刻写入数据库的可能性不大。其实大部分操作都是读操作,打开一个只读连接就行了,Access能支持同时打开64个连接,足够你用了。如果写操作的话只能有一个,如果尝试打开多个支持操作的连接话就出错。
基于上面的这个特点,读操作的话直接用只读连接。如果是写操作的话,在打开连接之前,你可以在网络硬盘上放一个标志文件,如名字叫lock,用完连接关闭后同时把文件删了。多个用户写数据打开连接的话就根据这个文件是否存在来决定是否继续,如果存在就让程序迟延1秒再继续。
用Access做这样的工作是比较麻烦的,比较好的办法还是用换成sqlserver或mysql等网络数据库,你几乎不用改代码,数据库帮你做了。毕竟,你的access文件放在网络硬盘上,局域网里的用户都对它有修改权限,不安全,有人给你胡乱修改一下就麻烦了。
展开全部
你看看可不可以设计成b/s模式的那种,也就是做成一个网页,不管你用什么数据库都可以很实现多人的访问,很方便的。前台用asp.net来实现也是Microsoft的产品,后台用vb编码。按你说的那个技术掌握程度,应该会很容易的。
还有一个解决办法就是你得学习网络编程,用winsock 来定位主机,访问数据库。这个虽说是许多的都是用人家做好的类,但学习的难度肯定比asp.net要大不少。
另外采用你的那种开发方式在现在来说对许多的多用户使用不是太方便,建议要是多用户的都使用网页式的开发。单机版的用窗体,或者说是在网页中使用窗体。建议用第一种吧。有什么问题可以再讨论。
希望我的回答可以帮到你。
还有一个解决办法就是你得学习网络编程,用winsock 来定位主机,访问数据库。这个虽说是许多的都是用人家做好的类,但学习的难度肯定比asp.net要大不少。
另外采用你的那种开发方式在现在来说对许多的多用户使用不是太方便,建议要是多用户的都使用网页式的开发。单机版的用窗体,或者说是在网页中使用窗体。建议用第一种吧。有什么问题可以再讨论。
希望我的回答可以帮到你。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
给你个思路
用winsock,设一主机,读的请求一般access能带的动5个用户同时访问
平时用户请求尽量不直接访问数据库,而是发送请求给主机
用access做多用户,一般就是这种方法了
用winsock,设一主机,读的请求一般access能带的动5个用户同时访问
平时用户请求尽量不直接访问数据库,而是发送请求给主机
用access做多用户,一般就是这种方法了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
多用户要用SQL SERVER等网络数据库,ACCESS是单机版的数据库,无法实现同时多人使用。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
hi我!
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询