我使用它来声明到SQL的连接
Public CONN As New SqlConnection("Data Source=" & My.Settings.SrvName & ";Initial Catalog=" & My.Settings.Catalog & ";Persist Security Info=" & True & ";User ID=" & My.Settings.USER & ";Password=" & My.Settings.PASSWRD & ";Integratedsecurity=" & My.Settings.InterSec & ";Connection Timeout=" & My.Settings.CnnTimeOut &)
但是在结尾部分)‘Im获取错误BC30201:,这也是我在其他语言和工作中使用的方法,有人能告诉我我的错误在哪里吗?,请帮助。谢谢。
发布于 2022-10-19 00:28:55
这是一个很好的例子,说明了为什么很多字符串连接都是个坏主意。很显然,您的代码很难阅读--甚至对您来说也是如此--因此它很容易出错。有了所有这些&
操作符,您没有注意到在最后您不需要这样一个操作符,这是:
& My.Settings.CnnTimeOut &)
应该是这样:
& My.Settings.CnnTimeOut)
您应该避免在一行中使用多个&
运算符,而应该使用String.Format
方法或字符串内插。在这种情况下,不要使用任何这些选项。你应该使用SqlConnectionStringBuilder
。
Dim builder As New SqlConnectionStringBuilder With {.DataSource = My.Settings.SrvName,
.InitialCatalog = My.Settings.Catalog}
Using connection As New SqlConnection(builder.ConnectionString)
'...
End Using
注意,我已经用Using
语句创建了连接,这也是您应该做的。不要使用单一的、普通的连接。您可以使用单个连接字符串生成器来生成连接字符串,但是应该在需要时在任何地方创建、使用和销毁连接对象。
注意,在创建连接字符串生成器时,可以根据需要设置它的属性。我刚在这里设了两个人是为了简洁。
https://stackoverflow.com/questions/74117650
复制相似问题