【问题标题】:connection string Web config Problems ASP.net Vb.net连接字符串 Web 配置问题 ASP.net Vb.net
【发布时间】:2015-07-01 07:57:17
【问题描述】:

这是我的 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

当我运行我的代码时,我不断收到“对象引用未设置为对象的实例”。到我的连接字符串。 代码是:

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

谢谢!

【问题讨论】:

    标签: asp.net vb.net connection-string


    【解决方案1】:

    我觉得你的代码是真的,但是

    你应该试试这个:

    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节点

    【讨论】:

    • 我知道,但逻辑是一样的 :) 你可以添加 appsetting 节点 ;)
    • 抱歉,Osama,它不起作用,我的解释器无法识别字符串 appSettings!
    • 嗯好吧,你能看看这里吗:msdn.microsoft.com/en-us/library/…
    • 是的,我发现,我在字符串连接中使用了 Vb 标识符,但它仍然无法正常工作
    【解决方案2】:

    我通过更改 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

    【讨论】:

      猜你喜欢
      • 2012-12-31
      • 1970-01-01
      • 2017-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-21
      相关资源
      最近更新 更多