このようなパスワード認証クエリを実行しています。
if exists(select UserID from users where UserName=@UserName and Password=@Password)
select UserID from users where UserName=@UserName and Password=@Password
else
select 0
しかし、1 つの結果に対して 2 回クエリを実行しているように思えます。
Select UserID Where Username = @UserName and Password = @Password
結果を取得したら、リーダーで結果の数を確認するだけですか?
if (!myReader.HasRows)
MessageBox.Show("UserName not found or Password invalid");
else
//do login stuff
私が求めているのは、どちらが優れているか、または同じかということです。