Vb6 此Visual Basic 6.0代码的作用是什么?

Vb6 此Visual Basic 6.0代码的作用是什么?,vb6,Vb6,下面的Visual Basic 6.0代码是做什么的?然而,它已经被用于搜索功能,我不清楚它。所以请解释一下它的作用 Private Sub cmdSearch_Click() Dim key As Integer, str As String key = InputBox("Enter the Employee No whose details u want to know: ") Set rs = Nothing str = "select * from em

下面的Visual Basic 6.0代码是做什么的?然而,它已经被用于搜索功能,我不清楚它。所以请解释一下它的作用

Private Sub cmdSearch_Click()
    Dim key As Integer, str As String
    key = InputBox("Enter the Employee No whose details u want to know: ")
    Set rs = Nothing
    str = "select * from emp where e_no=" & key
    rs.Open str, adoconn, adOpenForwardOnly, adLockReadOnly
    txtNo.Text = rs(0)
    txtName.Text = rs(1)
    txtCity.Text = rs(2)
    txtDob.Text = rs(4)
    txtPhone.Text = rs(3)
    Set rs = Nothing
    str = "select * from emp"
    rs.Open str, adoconn, adOpenDynamic, adLockPessimistic
End Sub

简短摘要:要求用户输入姓名,并在标签或文本框中显示用户的数据。

它对数据库进行两次搜索。第一次搜索的结果用于填充一些文本框。第二次搜索的结果。。。我不知道他们在用它做什么。

它根据一个名为
e\u no
的列从数据库中查找数据,将找到的行中的信息加载到文本框控件中,然后重新查询数据库中的所有
emp
行。

没有人明确指出的一点是
rs
必须声明为
新记录集
,这样
集rs=Nothing
就意味着实际上与
集rs=New RecordSet
相同。我想知道的是rs。设置为Nothing只是在对其调用方法之前。我知道这是合法的,但它通常是不受欢迎的。是的,这就是我也被绊倒的原因!rs被声明为nothing的原因是它必须是,不,它是在方法外部声明的实例变量。它只是重置内容以重用它。那么这行代码是如何工作的呢?“txtNo.Text=rs(0)”,如果已找到,它如何正确显示emp_no?
rs(0)
是sql查询中的第一个字段。它是在假设数据库中emp表中的第一个字段是员工编号的情况下工作的。@Anto Aravinth:
txtNo.Text=rs(0)
txtNo.Text=rs.Fields.Item(0).Value的缩写,因为
记录集
的默认属性是
字段
(类型
集合
),
集合
的默认属性是
(类型为
字段
),而
字段
的默认属性是对象
值。那么这行代码是如何工作的?“txtNo.Text=rs(0)”,如果找到它,它如何正确显示emp_no?与其说是“知道你的代码在做什么,为什么这么做”,不如说是“了解你的代码”。不过,我可以看到这个正在燃烧的复制/粘贴代码非常糟糕。@Bob说的“了解”,我的意思是“理解你的代码和语言”的问题这经常会困住经验不足的VB6程序员,所以Ant不必因为错过了这一点而感到愚蠢。您应该强调,任何被这一问题困扰的人都需要做一些学习(除非他们不想继续作为VB6程序员进行开发)。
Private Sub cmdSearch_Click()
    Dim key As Integer, str As String
    key = InputBox("Enter the Employee No whose details u want to know: ") ''// query the user for a name
    Set rs = Nothing
    str = "select * from emp where e_no=" & key ''//create sql query on the fly
    rs.Open str, adoconn, adOpenForwardOnly, adLockReadOnly ''// create a connection to an sql database
    txtNo.Text = rs(0) ''//assign the results of the query to input fields or labels
    txtName.Text = rs(1)
    txtCity.Text = rs(2)
    txtDob.Text = rs(4)
    txtPhone.Text = rs(3)
    Set rs = Nothing
    str = "select * from emp"
    rs.Open str, adoconn, adOpenDynamic, adLockPessimistic ''// creates a new sql connection and load the whole emp table
End Sub