2017-02-09 2 views

答えて

1

その行が、おそらく、特定のユーザー名とパスワードが一致し、データベースからユーザレコードを取得することにより、ログインを検証しています。 DataTableDataSetの行が0より大きい場合は、一致するユーザーレコードが少なくとも1つあるため、ログインに成功しました。

0

基本的に実行されたクエリはSQLであり、その結果はDataSetオブジェクトにフェッチされます。したがって、クエリは、そのクエリの結果の行数が1より大きい場合、指定されたユーザー名とパスワードに一致するレコードが存在することを意味し、そのユーザーにログインを許可する必要があるという意味で、データベースの有効なユーザー名とパスワードをチェックしている可能性があります。したがって、上記の構文により、クエリ結果がDataSetオブジェクトにフェッチされた可能性があります。オブジェクトには1つ以上のDataTableが含まれ、DataTableにはSQLクエリを実行した結果の行数が格納されます。したがって、単に与えられたDataTableに0行以上があることを確認しようとしていますか?ログインが許可されていなければ「ログインに失敗しました」と表示されます。

0

おそらく、このコードが表示される前に実行されたSQL SELECTステートメントが実行されており、その結果がDataSetに書き込まれていると考えられます。クエリがtxtUsernametxtPasswordためのパラメータ、またはこのようなもので

"SELECT * FROM [tblUsers] WHERE [Username] = ? AND [Password] = ?" 

の線に沿って何かされていると思います。

If ds.tables("corresponding table name").Row.Count <> 0 Then 

この行は条件付きの命令です。 DataSet ytable xが0行(すなわち、1またはそれ以上)を持っていない場合は、次の命令に行く」と言っています。

(Form Name).Show() 

ので、前の行がTrueに調整しており、少なくとも1がある場合table xの行、それはロードしForm z

Me.Hide() 

ひいてはが表示され、ユーザから現在のフォームを非表示にします。

Else 

それ以外の場合は、最初の行の条件がFalseになり、table xに行がない場合は、この行にジャンプします。

MsgBox("Login Failed") 

MsgBoxが上のログが

End If 

条件を終了し失敗したことをユーザに警告が表示されます。

関連する問題