当前位置:编程学习 > C#/ASP.NET >>

如何方便的所有的Form的中****TableAdapter连接字符串

我的是winform程序,数据库用的sqlite,通过数据源,把数据库中的表生成数据集,也就是说一个数据集中有很表。如图


在winform中绑定数据,下面会有tableAdapter组件.如图:


在一个Form绑定数据,就会有多个tableAdapter组件,tableAdapter组件
数据库的连接字符串放在app.config中,是固定死的,但是我的程序需要客户安装,可以选择目录,所以数据库的连接字符串不能能死。所以我想在运行时,给tableAdapter.connection的ConntionString赋值,问题是我有很的form,每个form中有多个adpter 组件,如果对每个form的adpter赋值太麻烦了,有没有简单的方法? --------------------编程问答-------------------- 你这样很累,重复利用很麻烦,写个数据库帮助类或下载一个数据库帮助类不用拖一大堆的控件。 --------------------编程问答-------------------- 我从数据集中拖出的控件是自动绑定的,插入、更新、删除、查询基本上不用写一行sql代码,这是我目前发现的简单的方法了。
至于数据库帮助类,我不知道有多大的用途,网上看了不少直接使用ado.net帮助类,那太底层了,数据绑定是个大问题。
--------------------编程问答-------------------- 你可以重载Setting.SettingLoaded事件,在这个事件里根据应用程序的设置改写连接字符串。
不过你这种设计在数据量大的场合会造成界面失去响应,时间较长的操作应该放到子线程里去。 --------------------编程问答--------------------
引用 3 楼 jiangsheng 的回复:
你可以重载Setting.SettingLoaded事件,在这个事件里根据应用程序的设置改写连接字符串。
不过你这种设计在数据量大的场合会造成界面失去响应,时间较长的操作应该放到子线程里去。

我的是winform程序,Setting类在哪呢? --------------------编程问答-------------------- 我是这样想的
XXXXXTableAdapter类,继承自System.ComponentModel.Component

创建一个父类Form ,在Form中的load事件中,利用反射,遍历form所有成员,如果成员是继承自System.ComponentModel.Component并且Name以"Adpter",那就设置XXXXXTableAdapter的 connectiongString属性。

然后,凡事使用数据绑定的窗体,只要继承自父类就可以了 --------------------编程问答-------------------- 参考How to dynamically change connection string in generated dataset class?
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,