连接字符串 Web 配置问题 ASP.net Vb.net

connection string Web config Problems ASP.net Vb.net

这是我的 WebConfig XML:

<configuration> 
<location path="Manage.aspx">
<system.web>
<authorization>
<deny> users="?"</deny>
</authorization>
</system.web>
<connectionStrings>
<add>
name="myConnectionString" 
connectionString="Data Source=EMBRYOLOGIST;Initial Catalog=ARTSQL;Integrated Security=True"
providerName="System.Data.SqlClient"
</add>
</connectionStrings>
</location>
</configuration>

在我的 Web 表单中,我导入了以下内容:

Imports System.Configuration
Imports System.Data.SqlClient
Imports System.Data
Imports System.Web.Configuration

当我 运行 我的代码时,我不断得到 "Object reference not set to an instance of an object." 我的连接字符串。 代码是:

Private Sub Page_PreLoad(sender As Object, e As EventArgs) Handles   Me.PreLoad
Dim ConStrng As String = ConfigurationManager.ConnectionStrings("myConnectionString").ConnectionString
        If Not IsPostBack Then
        Dim strlst As String = "SELECT filenum, cast(Filenum as nvarchar (10)) + ' - ' +  Fname + ' ' +  Sname + ' ' +  Lname As FullName FROM ARTSQL.dbo.TblReg"
        Dim con As New SqlConnection(ConStrng)
        Dim cmd As New SqlCommand()
        lst.Items.Add(New ListItem("Select Patient Record", ""))
        lst.AppendDataBoundItems = True
        cmd.CommandType = CommandType.Text
        cmd.CommandText = strlst
        cmd.Connection = con
        Try
            con.Open()
            lst.DataSource = cmd.ExecuteReader()
            lst.DataTextField = "FullName"
            lst.DataValueField = "Filenum"
            lst.DataBind()

        Catch ex As Exception
            Throw ex
        Finally
            con.Close()
            con.Dispose()
        End Try
    End If
End Sub

谢谢!

我认为你的代码是正确的,但

你应该试试这个:

string appSettings = ConfigurationManager.AppSettings["myConnectionString"].ToString();

然后像这样更新您的 xml 文件:

<?xml version="1.0" encoding="utf-8" ?>
   <configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
    </startup>
   <appSettings>
        <add key="myConnectionString" value="your connection strings here"/>
   </appSettings>
  </configuration>

其实是这样的“appSettings节点

我通过更改 Web 配置文件中的整个 XML 格式解决了这个问题,

旧的是,

<?xml version="1.0"?>
<configuration> 
<location path="Manage.aspx">
<system.web>
  <authorization>
  <deny users="?"/>
  </authorization>
</system.web>
<connectionStrings>
<add name="myConnectionString" connectionString="DataSource=EMBRYOLOGIST;Initial Catalog=ARTSQL;Integrated Security=True" providerName="System.Data.SqlClient"></add>
</connectionStrings>
</location>
</configuration>

新的是,

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup> 
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
<connectionStrings>
<add name="ARTSQLConStrng" connectionString="DataSource=EMBRYOLOGIST;Initial Catalog=ARTSQL;Integrated Security=True;Pooling=False />
</connectionStrings>
</configuration>

参考:ConfigurationManager.ConnectionStrings Property