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 回答