Új hozzászólás Aktív témák

  • ArchElf

    addikt

    válasz sonar #1557 üzenetére

    Én általában leprogramozom a dolgot a System.Data.SqlClient-en keresztül.
    // saját függvény, de akár fixen is meg lehet adnistring
    cs = GetConnectionString("testConnectionString");
    using(SqlConnection con = new SqlConnection())
    {
    con.ConnectionString = cs;
    con.Open();
    using (SqlCommand cmd = con.CreateCommand())
    {
    //Beállítani, hogy a Command SP legyen
    cmd.CommandType = CommandType.StoredProcedure;
    //SP neve
    cmd.CommandText = "LastSessionPage";
    //Paraméterek hozzáadása
    cmd.Parameters.Add(new SqlParameter("SID", SessionID));
    //Return Value (vagy akár out) is paraméterben használandó
    SqlParameter pret = new SqlParameter("RETURN_VALUE", SqlDbType.Int);
    pret.Direction = ParameterDirection.ReturnValue;
    cmd.Parameters.Add(pret);
    cmd.ExecuteNonQuery();
    rval = Convert.ToInt32(pret.Value);
    }
    }

    Ha datasetet ad vissza a SP, akkor nyugodtan lehet ExecuteReaderrel indítani a cmd-t, és SqlDataReaderrel olvasni. A fenti esetben csak a "poén" kedvéért paraméterben jön vissza a visszatérési érték, ha select-tel egy értéket ad ki (aggregűációnál, mint pl itt), akkor nem kell vacakolni a Return paraméterrel, simán ExecuteScalar-ral kell futtatni a parancsot.

    AE

    [ Szerkesztve ]

    Csinálok egy adag popcornt, és leülök fórumozni --- Ízlések és pofonok - kinek miből jutott --- Az igazi beköpőlégy [http://is.gd/cJvlC2]

Új hozzászólás Aktív témák