在我的"解决方案", 共有三个项目一个DAL类库(数据层),一个BLL类库(业务逻辑层)和一个asp.net程序(UI层)我在在数据层中创建一个强类型的DataSet , 然后在BLL层或是UI层调用, 我在DAL层中创建强类型数据集时, 我的连接字符串为:Data Source=server9;Initial Catalog=HATest;Persist Security Info=True;User ID=sa;Password=sapwd (这是测试数据库的连接)但我系统发布时, 每次都得先将DAL层的数据连接改成Data Source=server9;Initial Catalog=HA;Persist Security Info=True;User ID=sa;Password=sapwd (正式数据库的连接), 然后重新编辑dal.dll才能发布.
我现在想问题是, 能不能让dal层的强类型数据库中的数据连接也读取UI层中web.config里面配置的连接字符串?
我现在想问题是, 能不能让dal层的强类型数据库中的数据连接也读取UI层中web.config里面配置的连接字符串?
解决方案 »
- 请教一下asp.net生成如下xml文件(c#)应该如何写,希望能够给注释一下,谢谢各位了
- 如何在asp.net里恢复和备份数据库
- 急急急!!!
- 执行了两句sql,填充了两个表,显示字段数据的时候前台要怎么板定?
- 系统退出问题?50分!谢谢!
- ASP.NET中的FORM表单产生的JS错误问题,如何解决?
- 请问在WEB开发中能不能利用客户端脚本动态的为Web Control增加值?
- 学习asp.net2.0 ajax,应该看哪些书?
- 小问题,有关文本显示
- 弹出确认是否的对话框问题2:请问在datagrid中ButtonColumn执行的事件是delete,如何
- asp.net 怎么实现购物车
- fckeditor在线编辑word、excel文档
using System.Configuration;
string strConn=ConfigurationManager.AppSettings["strConn"].ToString();web.config<appSettings>
<add key="strConn" value="Data Source=server9;Initial Catalog=HA;Persist Security Info=True;User ID=sa;Password=sapwd"/>
</appSettings>
这个是没问题, 不过我是在DAL层创建强类型DataSet中, 它会要求提供数据库连接的, 这个时候我如何去读取Web.Config里面的连接字符串呢?
在创建强类型DataSet时, 如何传递参数, 好戏像都是用向导完成的.
问题的关键是, 我在DAL层中创建强类型DataSet, 这个过程一般都是向导完成的, 并没有办法自己让其去读取web.Config中的配置.
如果是,那打开数据集设计器选表下部对应的TableAdapter的属性,在connection项中就能设定
是的, 如果是在同一个项目中, 这样是没有问题的,关键的是, 我的DAL是单独的一个dll项目.
1.直接修改设计器自动生成的xxx.designer.cs文件,找到xxxTableAdapter的InitConnection()方法,修改连接串,当然这样每次dataset修改后,都要再手工改下自动生成的文件。2. 在对应的数据集源码文件(DataSetxxx.cs)文件中,修改对应的partial类。
在xxxTableAdapter对应的parital类中,另加上一个带参数的构造函数, 这个参数就是从web.config中读出来的连接串。以后调用的时候,不要直接用缺省的构造,而用这个带参数的构造就可以了。
示例代码:namespace ClassLibrary1.DataSet1TableAdapters
{
public partial class CustomerTableAdapter
{
public CustomerTableAdapter(string connStr)
{
this._connection = new SqlConnection(connStr);
}
}
}
string strConn=ConfigurationManager.AppSettings["名称"].ToString();
string chinese wholesalers
ugg=ConfigurationManager.AppSettings["strConn"].ToString();
<add key="strConn1" value="Data Source=server9;Initial Catalog=HA;Persist Security Info=True;User ID=sa;Password=sapwd"/>
<add key="strConn2" value="Data Source=server9;Initial Catalog=HA;Persist Security Info=True;User ID=sa;Password=sapwd"/>
</appSettings>使用时:
SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings[0].ConnectionString);
相当于:
SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["strConn1"].ConnectionString);SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings[1].ConnectionString);
相当于:
SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["strConn2"].ConnectionString);
<connectionStrings>
......
</connectionStrings>事实上默认的强类型的DataSet就是读取web.config中的连接字符串!!
private void InitConnection() {
this._connection = new global::System.Data.SqlClient.SqlConnection();
this._connection.ConnectionString = CommonFun.ConnectionString;
}