如何将文本框从其他形式连接到其他形式的数据网格

时间:2019-05-19 13:54:59

标签: vb6

基本上,im tryin所做的是使登录页面连接到数据库,因此在下一种形式中,im tryin显示使用datagrid输入其ID(相同数据库)的人员信息。因此,如何使数据网格显示唯一需要的信息。

这是我在下一张表格上写的

Private Sub DataGrid1_Click()
Adodc1.RecordSource = "select * from STUDENTINFO where Name = '" + txtuser.Text + "'"
Adodc1.Refresh
Adodc1.Caption = Adodc1.RecordSource
End Sub

这是用户登录代码

Private Sub loginbtn_Click()
Adodc1.RecordSource = "select * from STUDENTINFO where Name = '" + txtuser.Text + "'"
Adodc1.Refresh
If (Adodc1.Recordset.EOF = False) Then
    If (txtpass.Text = Adodc1.Recordset.Fields("ID")) Then
    MsgBox "Login Succeeded!"
    Adodc1.Caption = Adodc1.RecordSource
    StudentInfo.Show
    Else
    MsgBox "Invalid Password!", vbCritical, "Login"
    txtuser.Text = ""
    txtpass.Text = ""
    txtuser.SetFocus
    End If
Else
    MsgBox "Invalid Username or Password!", vbCritical, "Login"
     txtuser.Text = ""
    txtpass.Text = ""
    txtuser.SetFocus
    End If
End Sub

我希望在下一个表格中显示用户所需的唯一信息,以便用户在数据网格中看到

1 个答案:

答案 0 :(得分:0)

SQL注入漏洞的经典示例。

要执行此操作,至少应在“下一个表格”上使用:

Adodc1.RecordSource = "select * from STUDENTINFO where Name = '" + LoginForm.txtuser.Text + "'"

要引用该登录表单,您不应卸载它,而只能将其隐藏,以使其保留在内存中。并修复SQL注入漏洞!至少像这样:

Replace(LoginForm.txtuser.Text, "'", "''")