如何将变量插入vb.net连接字符串

gfu*_*r40 3 vb.net

我正在尝试将变量插入连接字符串中,希望它们将被保存以用于执行多个查询。

我正在尝试的是这样的:

Private sConnectionString As String = "Provider=TDOLEDB;Data Source=TDDEV;Persist Security Info=True;User ID="&user&";Password="&pass&";Default Database=bcpm_ddbo;Session Mode=ANSI;"
Run Code Online (Sandbox Code Playgroud)

但它不起作用。

要么

我不介意执行以下操作,但是只有一个提示并保持连接打开状态?

Private sConnectionString As String = "Provider=TDOLEDB;Data Source=TDDEV;Persist Security Info=True;Prompt=Complete;Default Database=bcpm_ddbo;Session Mode=ANSI;
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激!!!

Kon*_*lph 5

您的原始代码无法正常工作的原因是您正在使用以下代码:

"…"&user&"…"
Run Code Online (Sandbox Code Playgroud)

第一个&很好。但是第二个&例子在这种情况下是模棱两可的,因为在VB 1中,紧跟着a 的变量名&具有特殊的含义。为此,您需要在second之前插入一个空格。&

实际上,您应该始终每个二进制运算符之前和之后插入空格。这只会使代码无限地可读。

"…" & user & "…"
Run Code Online (Sandbox Code Playgroud)

现在代码可以正常工作了。但是String.Format在这里使用更具可读性。


1真正的原因是,对于较旧的BASIC和VB版本(仍然使用Option Explicit Off,这是非常糟糕的样式!),不必声明变量。为了仍然有可能说变量x是给定类型,可以附加一个类型后缀。&LongVB6中的类型后缀(可能也在VB.NET中,但我没有查过)。