You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

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>节点来管理连接字符串,比资源文件更灵活,还能加密,适合生产环境:

  1. 打开项目根目录的Web.config,找到(如果没有就添加)<connectionStrings>节点:
<connectionStrings>
    <add name="MySqlConn" 
         connectionString="Data Source=你的服务器名;Initial Catalog=你的数据库名;Integrated Security=True;" 
         providerName="System.Data.SqlClient" />
</connectionStrings>
  1. 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

火山引擎 最新活动