2016-03-15 56 views
0

我创建的具有连接到MySQL数据库的登录系统中的形式,信息制造具有3列的表:用户ID,用户名和电子邮件与MySQL登录系统检测用户ID在VB.net

表表示:

+---------+-------------+--------------------+ 
    | user_id | username | email    | 
    +---------+-------------+--------------------+ 
    | 1 | test1  | [email protected] | 
    |   |    |     | 
    |---------+-------------+--------------------+ 
    |   |    |     | 
    | 2 | test2  | [email protected] | 
    |   |    |     | 
    +---------+-------------+--------------------+ 

当窗体打开要求他们把用户名和电子邮件,我想知道,如果该应用程序可以验证数据集和检测用户ID,然后将用户ID在一个文本框

示例: 我使用acco登录unt“test1,把你的电子邮件地址”[email protected]“ 我点击”登录“然后,查阅用户ID帐号”test1“,并将用户ID置于文本框”txtUserID“中。

我迄今取得的进展(登录按钮),我只需要用户ID的咨询:我希望这是可能的,需要注意的是不是我有很多的经验,可以帮助我太多,如果

Private Sub Button1_Click_1(sender As Object, e As EventArgs) Handles Button1.Click 
    MySqlConnection = New MySqlConnection 
    MySqlConnection.ConnectionString = "server=Host;Port=3306; user id=Username;password=password; database=database_name" 
    MySqlConnection.Open() 

    Dim Myadaptar As New MySqlDataAdapter 
    Dim sqlquary = "SELECT * FROM xf_user WHERE username='" & txtUsername.Text & "' AND email='" & txtPassword.Text & "';" 
    Dim command As New MySqlCommand 
    command.Connection = MySqlConnection 
    command.CommandText = sqlquary 
    Myadaptar.SelectCommand = command 
    Dim Mydata As MySqlDataReader 
    Mydata = command.ExecuteReader 
    If Mydata.HasRows = 0 Then 
     Form4.Show() 
    Else 
     Timer1.Start() 
    End If 
End Sub 

专家。

谢谢。

回答

0

试试这个

If Mydata.HasRows = 0 Then 
    Form4.Show() 
    txtUsername.Text=Mydata.Item(0) //sample code 
Else 
    Timer1.Start() 
End If 
+0

对不起,但这是什么使“reader.item” – RiuChan

+0

@RiuChan在你的情况下它的eq我改正了Ans –

0

修订

MySqlConnection = New MySqlConnection 
MySqlConnection.ConnectionString = "server=Host;Port=3306; user id=Username;password=password; database=database_name" 
MySqlConnection.Open() 


Dim sqlquary = "SELECT user_id FROM xf_user WHERE username='" & txtUsername.Text & "' AND email='" & txtPassword.Text & "';" 
Dim command As New MySqlCommand 
command.Connection = MySqlConnection 
command.CommandText = sqlquary 

Dim user_id as string = command.executescalar 

user_ID的字符串包含等于用户名和电子邮件在表中的用户ID,所以你可以把它放在文本框这样

TextBox1.Text = user_id 
+0

究竟该用什么方法? – RiuChan

+0

我chnaged的SQL计数表中的行,并把结果字符串,然后检查计数= 1或不,如果是的Form4将显示 – IFON26

+0

好吧,非常感谢。 – RiuChan