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

连接字符串Web配置问题ASP.net Vb.net,asp.net,vb.net,connection-string,Asp.net,Vb.net,Connection String,这是我的WebConfig XML: <configuration> <location path="Manage.aspx"> <system.web> <authorization> <deny> users="?"</deny> </authorization> </system.web> <connectionStrings> <add> name="myConnec

这是我的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>
当我运行我的代码时,我总是得到对象引用,而不是设置为对象的实例。连接到我的连接字符串。 代码是:

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>

参考:

我知道,但逻辑是一样的:您可以添加appsetting节点;抱歉,Osama,它不工作,我的解释器无法识别字符串appSettings!嗯,好的,你能看看这里吗:是的,我发现,,,我在字符串连接中使用了Vb标识符,但仍然不起作用
<?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>