0

我想检查用户是否在我的 winForm 中输入了错误的登录信息……那么我在哪里可以在我的连接类中添加异常?

class Connection
    {
        public static OracleConnection Connection(string Source, string Name, string pass)
        {
            OracleConnection conn = null;
            if(!string.IsNullOrWhiteSpace(Source) && !string.IsNullOrWhiteSpace(Name) && !string.IsNullOrWhiteSpace(pass))
                {
                    conn = new OracleConnection("Data Source=" + Source + ";User Id=" + Name + ";Password=" + pass + ";");
                    return con;
                }

            return con;
        }
    }
4

2 回答 2

0

您需要在您的线路周围添加一个Try-Catch 。conn = new OracleConnection("Data Source=" + Source + ";User Id=" + Name + ";Password=" + pass + ";");如果遇到错误,请在 Catch 块中处理它。

于 2013-09-03T00:09:31.307 回答
0

您可以按如下方式将try - catch块添加到您的Connection()方法中。当用户提供无效的用户名或密码时,将抛出ORA-1017异常。

class Connection
{
    public static OracleConnection Connection(string Source, string Name, string pass)
    {
        OracleConnection conn = null;

        try         
        {
          if(!string.IsNullOrWhiteSpace(Source) && !string.IsNullOrWhiteSpace(Name) && !string.IsNullOrWhiteSpace(pass))
             {
                conn = new OracleConnection("Data Source=" + Source + ";User Id=" + Name + ";Password=" + pass + ";");                  
             }              
          return con;
        }
        Catch(Exception exception)
        {
            //ORA-01017: invalid username/password; logon denied
        }           
    }
}
于 2013-09-03T00:12:13.977 回答