ASP.NET WebForm中如何在Protected Sub内使用资源中的SQL Server连接字符串?
嘿,既然你已经有C#、Java类开发和SQL Server项目的基础,那在ASP.NET Web Forms的Protected Sub里用资源字符串管理连接字符串,其实和你之前的思路大同小异,只是Web Forms的资源文件用法有一点点专属的小细节,我给你拆解清楚:
方法一:用全局资源文件(和你之前用
Properties.Resources的逻辑最接近) 首先得在Web Forms项目里创建全局资源文件:
- 右键项目 → 添加 → 新建项 → 选择「资源文件」,命名比如
AppResources.resx,系统会自动把它放到App_GlobalResources文件夹下(这个是Web Forms专门存全局共享资源的目录) - 打开
AppResources.resx,添加键值对:键设为ConnectionString,值填你的SQL Server连接字符串
然后在Protected Sub里直接调用就行,和你之前调用Properties.Resources几乎一样,只是换成Resources命名空间下的资源类:
Protected Sub BindData() ' 从全局资源获取连接字符串 Dim connString As String = Resources.AppResources.ConnectionString ' 接下来就和你熟悉的用法一致了 Using sqlAdapter As New SqlDataAdapter("SELECT * FROM YourTable", connString) Dim dataSet As New DataSet() sqlAdapter.Fill(dataSet) ' 比如绑定到GridView YourGridView.DataSource = dataSet.Tables(0) YourGridView.DataBind() End Using End Sub
方法二:用Web.config的连接字符串节点(Web Forms更推荐的生产环境做法)
其实在Web Forms项目里,大家更常用<connectionStrings>节点来管理连接字符串,比资源文件更灵活,还能加密,适合生产环境:
- 打开项目根目录的
Web.config,找到(如果没有就添加)<connectionStrings>节点:
<connectionStrings> <add name="MySqlConn" connectionString="Data Source=你的服务器名;Initial Catalog=你的数据库名;Integrated Security=True;" providerName="System.Data.SqlClient" /> </connectionStrings>
- 在
Protected Sub里通过ConfigurationManager获取:
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load Dim connString As String = ConfigurationManager.ConnectionStrings("MySqlConn").ConnectionString ' 后续使用SqlDataAdapter的逻辑和之前完全一样 Using adapter As New SqlDataAdapter("你的SQL语句", connString) ' 处理数据... End Using End Sub
如果你的连接字符串是某个页面专属的,也可以用局部资源文件(命名为页面名.aspx.resx放在页面同目录),调用时用Me.GetLocalResourceObject("ConnectionString").ToString(),但全局资源或Web.config的方式更适合共享的连接字符串场景。
内容的提问来源于stack exchange,提问作者Jack Henry




