Oracle
 sql >> Base de données >  >> RDS >> Oracle

Comment puis-je transmettre mes paramètres getters et setters à la classe de connexion ?

Votre méthode GetConnection nécessite trois paramètres. Vous devez les transmettre à la méthode.

UserMembers  src = new UserMembers();

src.srDatabase =txtSrcUserDatabase.Text;
src.srID = txtSrcUserID.Text.ToUpper();
src.srPass = txtSrcUserPassword.Text;
OracleConnection conn1 = Connection.GetConnection(src.srDatabase, src.srID, src.srPass) 
conn1.Open();
......

Ou vous pouvez passer l'instance de UserMembers à la méthode GetConnection en créant une surcharge de GetConnection comme celle-ci

class Connection
{
    // the first overload that takes 3 string parameters
    public static OracleConnection GetConnection(string dataSource, string userName, string password)
    {
        .... 
    }

    // The second overload that takes an instance of UserMembers
    public static OracleConnection GetConnection(UserMembers src )
    {
        OracleConnection con = null;
        if(!string.IsNullOrWhiteSpace(sr.srDatabase) && !string.IsNullOrWhiteSpace(sr.srID) && !string.IsNullOrWhiteSpace(sr.srPass))
        {
                con = new OracleConnection("Data Source=" + sr.srDatabase + ";User Id=" + sr.srID.ToUpper() + ";Password=" + sr.Pass + ";");
        }
        return con;
    }
}

En remarque. Si vous avez besoin que le membre srID soit toujours en majuscule, déplacez cette logique dans la propriété setter, et vous pourriez arrêter de vous soucier du formatage correct de ce membre lorsque vous essayez de le relire

public string SID
{
    get  { return srID ; }
    set  { srID = value.ToUpper(); }
}