我想创建一个连接字符串并将其用于我的应用程序中的所有表单,但显示错误。
我的代码会抛出错误:“对象引用未设置为对象的实例”
@GET("url")
Call<List<AssetResponse>> getAssetList();
答案 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()
解决 感谢所有人.....