Avatar billede dsj Nybegynder
15. juni 2004 - 12:34 Der er 3 kommentarer og
1 løsning

Hente RETURN-værdi fra stored procedure

Jeg har en lille stored procedure:

CREATE PROCEDURE GetValue
AS
    RETURN 30
GO

Spørgsmålet er så, hvordan jeg henter værdien "30" ud i min applikation?
Avatar billede arne_v Ekspert
15. juni 2004 - 12:36 #1
CREATE PROCEDURE TEST_OUT_RET
@outarg INTEGER OUTPUT
AS
SELECT @outarg = 123
RETURN 456
GO

using System;
using System.Data;
using System.Data.SqlClient;

class MainClass
{
    public static void Main(string[] args)
    {
        SqlConnection con = new SqlConnection("server=ARNEPC2;Integrated Security=SSPI;database=Test");
        con.Open();
        SqlCommand cmd = new SqlCommand("TEST_OUT_RET", con);
        cmd.CommandType = CommandType.StoredProcedure;
        SqlParameter prm = new SqlParameter("@outarg", SqlDbType.Int, 0, "outarg");
        prm.Direction = ParameterDirection.Output;
        cmd.Parameters.Add(prm);
        SqlParameter ret = new SqlParameter("@retval", SqlDbType.Int);
        ret.Direction = ParameterDirection.ReturnValue;
        cmd.Parameters.Add(ret);
        cmd.ExecuteNonQuery();
        Console.WriteLine((int)cmd.Parameters["@outarg"].Value);
        Console.WriteLine((int)cmd.Parameters["@retval"].Value);
        con.Close();
    }
}
Avatar billede arne_v Ekspert
15. juni 2004 - 12:36 #2
Avatar billede dsj Nybegynder
15. juni 2004 - 12:48 #3
Jaaa, det virker - men hvor ugennemskueligt...
Smid et svar.
Avatar billede arne_v Ekspert
15. juni 2004 - 12:51 #4
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester