1

.net でログイン クエリの手順を作成するにはどうすればよいですか。

StringBuilder sql;
  sql = new StringBuilder("Select User From Login_user ");
  sql.Append(" Where User_Name_upper = '" + strUserName.ToString().ToUpper() + "'");
  OracleCommand cmdUserDetails = new OracleCommand(sql.ToString(), conSODEV);
4

1 に答える 1

1

次のようになります。

create or replace procedure usernameExists (username in VARCHAR ) is      
    l_user user_tables.owner%type;
BEGIN
    Select User 
    into l_user
    From Login_user 
    where User_Name_upper = upper(username);
EXCEPTION
    when NO_DATA_FOUND then
        raise_application_error(-20000, 'User does not exist!');
END;

次に、次のように呼び出します。

 OracleCommand cmdUserDetails = new OracleCommand("usernameExists", conSODEV);
 cmdUserDetails.Parameters.AddWithValue("username",username_variable);
 IDataReader reader = cmdUserDetails.ExecuteReader();

注1:私はOracle開発者ではありませんが、それに非常に近いはずです。

注 2 : 上記の手順は、ユーザー名が存在する場合、単純にレコードを返します。「ログイン手順」について言及しましたが、元のクエリにはパスワードもチェックするコードがありません。「ログイン手順」を実装する場合は、select ステートメントでユーザー名とパスワードの両方を一致させる必要があり、大文字と小文字の区別を適切に確認する必要もあります。

于 2012-04-02T15:46:06.523 に答える