对象引用未设置为对象的实例创建连接字符串时出错

时间:2016-10-26 05:52:41

标签: vb.net

我想创建一个连接字符串并将其用于我的应用程序中的所有表单,但显示错误。

我的代码会抛出错误:“对象引用未设置为对象的实例

@GET("url")
Call<List<AssetResponse>> getAssetList();

3 个答案:

答案 0 :(得分:1)

永远不会初始化connsql字段,因此它总是null(VB.NET中为Nothing)。

你会想要这个:

Sub Connect()

    Try

        Me.connstr = "Provider=SQLOLEDB.1; Data Source=" & My.Settings.sqlservername & ";Initial Catalog=" & My.Settings.sqlDBname & ";Password=" & My.Settings.sqlPswd & ";User ID=" & My.Settings.sqlUserName

        Me.connsql = New SqlConnection( Me.connstr )
        Me.connsql.Open()

    Catch ex1 As InvalidOperationException
        MsgBox( ex1.Message )
    Catch ex2 As SqlException
        MsgBox( ex2.Message )
    Catch ex3 As ConfigurationErrorsException
        MsgBox( ex3.Message )

    End Try

End Sub

我注意到,最好将整个连接字符串存储在App.config文件中,而不是在运行时构建它(例如,如果用户有SSPI连接,该怎么办?):

在App.config文件中:

<configuration>
    <connectionStrings>
        <add name="db" connectionString="it goes here" />
    </connectionStrings>
</configuration>

用法:

Me.connsql = new SqlConnection( ConfigurationManager.ConnectionStrings("db").ConnectionString )

答案 1 :(得分:0)

首先需要创建SqlConnection的对象,并在打开连接时设置connectionString

connstr = "Provider=SQLOL ..."
connsql = new SqlConnection(connstr)   
connsql.Open()

答案 2 :(得分:0)

connstr =&#34; Provider = SQLOLEDB.1;数据来源=&#34; &安培; My.Settings.sqlservername&amp; &#34 ;;初始目录=&#34; &安培; My.Settings.sqlDBname&amp; &#34 ;;密码=&#34; &安培; My.Settings.sqlPswd&amp; &#34 ;;用户ID =&#34; &安培; My.Settings.sqlUserName connsql =新的SqlConnection(connstr) connsql.Open()

解决 感谢所有人.....