Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我试图将用户的输入用作SQL数据库连接字符串的一部分_Sql_Vb.net_String - Fatal编程技术网

我试图将用户的输入用作SQL数据库连接字符串的一部分

我试图将用户的输入用作SQL数据库连接字符串的一部分,sql,vb.net,string,Sql,Vb.net,String,我的连接字符串保存在字符串变量名称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 A

我的连接字符串保存在字符串变量名称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
在使用+和&作为字符串时,我没有太多的like。
任何帮助都将不胜感激。

因此,您需要检查是否允许用户登录数据库。您遵循的方法看起来不错,您根据给定的ID和密码定义连接字符串,然后尝试建立连接,如果失败,用户无法登录,否则他可以这样做

但是,您定义字符串的方式是错误的,必须使用
串联
来保留ID和密码值,请尝试以下操作:

Dim str As String = "Data Source=DESKTOP; uid=" & ID & "; pwd=" & PASS & ";database=DB" 
在这种情况下,是一个合适的类。您可以通过属性将部分连接字符串添加到该字符串中,这样就不会出错:

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

另一种方式,使其易于阅读:

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)

您可以在VB中检查stringbuilder,它是
&
,而不是
+
。谢谢,我不是VB开发人员,但我提供了一个通用模板,他可能会将+替换为&。非常感谢,这正是我想要的:D