私のクエリが値を返すかどうかを確認し、それに応じて残りのロジックを書きたいかどうかを確認します。Cでのsqlコマンドの戻り確認#
SqlCommand myCommand = new SqlCommand("Select * from phc.userbase where [user]='@Username' and [password]='@password'", myConnection);
このコマンドがnullを返します。試しました
myReader = myCommand.ExecuteReader();
bool rd = myReader.Read();
if rd==false
私はそれを働かせることはできません。何か案は?ここで
は私のパラメータです:それはあなたがここにnull
によって何を意味するかによって異なり
SqlParameter myParam = new SqlParameter("@Username", SqlDbType.VarChar, 25);
myParam.Value = usr;
SqlParameter myParam2 = new SqlParameter("@password", SqlDbType.VarChar, 25);
myParam2.Value = pass;
そう...あなたは、データベース内のプレーンテキストとしてパスワードを保存していますか?それは***良い***です。また、パラメータを正しくパラメータ化しているかどうかは不明です。パラメータは引用符で囲まれていないはずです。 –
@MarcGravellこれは単なるダミーのデモです。後でMD5暗号化を使用する予定です。 – deception1
明快にする:現時点では、パスワードが「@ Password」である「@ Username」というユーザを検索しています。これは、パラメータの値と同じユーザ名を持っているかどうかをチェックするのとは非常に異なります'@ユーザー名 '。私はそのクエリは常にゼロ行を返すだろう、賭けましたか? –