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ブロックを追加できます。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 に答える
0

行の周りにTry-Catchを追加する必要がありますconn = new OracleConnection("Data Source=" + Source + ";User Id=" + Name + ";Password=" + pass + ";");。エラーが発生した場合は、Catch ブロックで処理します。

于 2013-09-03T00:09:31.307 に答える