这行是什么意思“如果ds.tables(”对应的表名“)。Row.Count<> 0那么”

时间:2017-02-09 04:15:47

标签: vb.net

这一行是什么意思“如果ds.tables(”对应的表名“)。Row.Count<> 0那么”

If ds.tables("corresponding table name").Row.Count <> 0 Then
    (Form Name).show()
    Me.Hide()
Else
    MsgBox("Login Failed")
End If

3 个答案:

答案 0 :(得分:1)

该行可能是通过从数据库中检索与特定用户名和密码匹配的用户记录来验证登录。如果DataTableDataSet的行数超过零,则至少有一个匹配的用户记录,因此登录成功。

答案 1 :(得分:0)

基本上必须有一个SQL查询已经执行,其结果将在DataSet对象中获取。因此,查询可能正在检查数据库中的有效用户名和密码,如果该查询产生的行数大于1,则表示存在与给定用户名和密码匹配的记录,我们必须允许该用户登录。因此,通过上面给出的语法,他们可能已将查询结果提取到DataSet对象中,现在DataSet对象可能包含多个DataTable,而那些DataTable包含我们得到的行数通过执行SQL查询。因此,它只是试图检查给定的DataTable是否有超过0行?如果是,那么它必须允许登录,否则它将显示为&#34;登录失败&#34;。

答案 2 :(得分:0)

据推测,在此代码出现之前还执行了Exif语句,然后将其结果填入SQL SELECT。该查询本来就是

DataSet

使用"SELECT * FROM [tblUsers] WHERE [Username] = ? AND [Password] = ?" txtUsername的参数,或类似的内容。

txtPassword

此行是条件指令。它说“If ds.tables("corresponding table name").Row.Count <> 0 Then 中的table x没有0行(即1或更多),然后转到下一条指令。

DataSet y

因此,如果前一行的条件为(Form Name).Show() 并且True中至少有一行,那么它将加载并显示table x

Form z

反过来,隐藏用户的当前表单。

Me.Hide()

否则,如果第一行符合Else 并且False中没有行,则跳转到此行。

table x

显示MsgBox("Login Failed") 警告用户登录失败

MsgBox

结束条件。