将值从文本框传递到db

时间:2013-10-16 10:30:48

标签: vb.net visual-studio-2010

以下是该方案。我有frmMain,它有一个btnDepts_Click事件。在同一个表单上,我有一个文本框txtCustomerActive。

在我的第二个窗体frmDepartments上,我使用DataGridView设置了一个ScalarQueryDepartments:

SELECT Customer, Dept, Name FROM Departments Where Customer = ?

我的问题是,如何从frmMain文本框获取值到我的db设置的frmDepartments表单。我知道我可以在frmDepartments加载事件中执行txtDeptCustomer.Text = frmMain.txtCustomerActive.Text,但是如何捕获该值以传递给db。我只是在frmDepartments中声明一个变量并传递它吗?对新用户的任何帮助将非常感谢。感谢

1 个答案:

答案 0 :(得分:1)

在第二个表单上,声明一个名为ID的公共属性和一个接收它的构造函数:

Public Class Form2

 Public Property Id As Decimal
    'Default constructor
    Public Sub New()   

        InitializeComponent()   

    End Sub

    'Id constructor
    Public Sub New(ByVal id As Decimal)
        InitializeComponent()
        Me.Id = id   
    End Sub

End Class

在第一个表单上,您实例化表单并分配值:

 'Pass the desired value to the form2 constructor
 Dim form2 as new Form2(Cdec(txtDeptCustomer.Text))
 form2.show()

您也可以使用默认构造函数并稍后分配属性:

Dim form2 as new Form2()
form2.Id = Cdec(txtDeptCustomer.Text)
form2.show()

当您的Form2被实例化时,您将获得其中的值。因此,您可以在加载事件中访问它:

Private Sub Form2_Load(sender As Object, e As System.EventArgs) Handles Me.Load
   'here you use the value
  Dim SqlComm as string ="SELECT Customer, Dept, Name " & _ 
      "FROM Departments Where Customer ='" & me.Id.tostring & "'"
End Sub