sql >> Databasteknik >  >> RDS >> Oracle

Hur kan jag skicka mina getters och sättare parametrar till anslutningsklass?

Din metod GetConnection kräver tre parametrar. Du måste skicka dem till metoden.

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();
......

Eller så kan du skicka instansen av UserMembers till GetConnection-metoden och skapa en överbelastning av GetConnection så här

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;
    }
}

Som en sidoanteckning. Om du behöver att srID-medlemmen alltid ska ha versaler flyttar du den här logiken till seter-egenskapen, och du kan sluta oroa dig för korrekt formatering av denna medlem när du försöker läsa tillbaka den

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



  1. Hur kan jag implementera commit/rollback för MySQL i PHP?

  2. Finns det någon skillnad mellan !=och <> i Oracle SQL?

  3. När jag anger en dateadd- eller datediff-kod får jag det här felet hela tiden ORA-00904 DATEADD Ogiltig IDENTIFIER.

  4. VARCHAR maxlängd är 4000 men endast 2666 byte lång thailändsk text kan lagras