在我的form1中,我有一个文本框,用户可以在其中输入其employee_number,还有第二个窗体,其中可以显示该客户的数据。
这是我的第一个表格
Dim dt As New DataTable
Dim EmployeeNumber = EmployeeNumber_TextBox1.Text.Trim()
Try
Using MyCon As New Odbc.OdbcConnection("Driver={PostgreSQL ANSI};database=contacttracing;server=localhost;port=5432;uid=ctadmin;sslmode=disable;readonly=0;protocol=7.4;User ID=*****;password=*****;"),
cmd As New Odbc.OdbcCommand("SELECT firstname FROM ""TracingApp_fmcustomeremployeesupplier"" where employee_number='" & EmployeeNumber & "' ", MyCon)
MyCon.Open()
dt.Load(cmd.ExecuteReader)
EmployeeInformation.Show()
End Using
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
当员工在Form1中输入他们的号码时,该怎么办?数据将显示在Form2文本框中?
表格1
表格2
我在form2中还没有代码,原因是我不知道如何从form1中获取数据并将其显示到form2
始终使用参数。用户输入可能是恶意的。参数向数据库指示这只是一个值,而不是可执行代码。参数有助于防止sql注入。
我更改了控件的名称以匹配我的测试程序。当然,在您的代码中,您将使用描述性名称。
在您的中CommandText
,选择您需要显示的所有字段。我不得不猜测这些字段的名称。检查数据库中的正确名称。在Where子句中使用参数的名称。
使用.Add
参数时,请检查数据库中的正确数据类型。由于您的代码具有单引号中参数的值,所以我猜到了VarChar
。如果它是一个Int
或其他数字类型,请确保为CInt(TextBox1.Text)或您需要更改为任何数据类型。您可能已经在其他地方验证了输入。
只有处理完连接和命令后,我们才开始使用返回的数据。
vb.net可以使用表单的“默认实例”。这就是为什么此代码有效的原因。您也可以创建自己的实例。
dt(0)(0).ToString
这是指中的第一行,第一列DataTable
。(.net中的数组和集合基于零)
dt(0)(1).ToString
指第一行,第二列或DataTable
等等。
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim dt As New DataTable
Dim EmployeeNumber = TextBox1.Text.Trim()
Try
Using MyCon As New Odbc.OdbcConnection("Driver={PostgreSQL ANSI};database=contacttracing;server=localhost;port=5432;uid=ctadmin;sslmode=disable;readonly=0;protocol=7.4;User ID=*****;password=*****;"),
cmd As New Odbc.OdbcCommand("SELECT firstname, middlename, lastname FROM ""TracingApp_fmcustomeremployeesupplier"" where employee_number= @empNum' ", MyCon)
cmd.Parameters.Add("@empNum", OdbcType.VarChar).Value = EmployeeNumber
MyCon.Open()
dt.Load(cmd.ExecuteReader)
End Using
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
Form2.TextBox1.Text = dt(0)(0).ToString
Form2.TextBox2.Text = dt(0)(1).ToString
Form2.TextBox3.Text = dt(0)(2).ToString
Form2.Show()
End Sub
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句