我的连接字符串保存在字符串变量名称str中 我想要做的是使用来自用户的输入作为字符串的一部分 我想从用户那里得到的部分是ID和PASS 我只是试图用ID和PASS检查连接状态作为用户的输入。
Dim str As String = "Data Source=DESKTOP;uid=ID;pwd=PASS;database=DB"
Dim conn As New SqlConnection(str)
Private Sub btnconnect_Click(sender As Object, e As EventArgs) Handles btnconnect.Click
PW = txtadminpass.Text
Try
conn.Open()
conn.Close()
MsgBox("GOOD")
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
在使用+和& amp;时,我不太喜欢对于字符串。 任何帮助将不胜感激。
答案 0 :(得分:3)
SqlConnectionStringBuilder是适合在这种情况下使用的类。您可以通过属性向其添加部分连接字符串,因此不会出错:
Imports System.Data.SqlClient
Module Module1
Sub Main()
Dim csb As New SqlConnectionStringBuilder
csb.DataSource = "DESKTOP"
csb.InitialCatalog = "DB"
csb.UserID = "z"
csb.Password = "x"
' output "Data Source=DESKTOP;Initial Catalog=DB;User ID=z;Password=x" '
Console.WriteLine(csb.ToString())
Console.ReadLine()
End Sub
End Module
答案 1 :(得分:0)
因此,您需要检查是否允许用户登录数据库。您遵循的方式看起来很好,您根据给定的ID和密码定义连接字符串,并尝试建立连接,如果失败,用户无法登录,否则他可以这样做。
但是,您定义字符串的方式有误,您必须使用concatenation
来保留ID和密码值,试试这个,
Dim str As String = "Data Source=DESKTOP; uid=" & ID & "; pwd=" & PASS & ";database=DB"
答案 2 :(得分:0)
另一种方式,使其易于阅读:
Const CONN_STRING As String = "Data Source=DESKTOP;uid={0};pwd={1};database=DB"
Dim connString As String = String.Format(CONN_STRING, txtUserID.Text.Trim, txtPassword.Text)