C# i procedury na mssql 2000

0

Witam

  1. W jaki sposób z poziomu C# obsłużyć procedury przechowywane na serwerze mssql2000?

  2. W jaki sposób przekazać do c# wynik procedury serwera mssql np

(procedura na sqrwerze sql)
..........
if liczba > 1
      return 1
 else
      return 0

W jaki sposób przekazać wynik 1 lub 0 do C#?

Bardzo proszę o przykłady z kodem.

0
SqlCommand vCommand = new SqlCommand("moja_procedura", JakiesPolaczenie); vCommand.CommandType = CommandType.StoredProcedure; vCommand.Parameters.AddWithValue("parametr1Procedury", 15); vCommand.Execute...() ``` Procedury nie zwracaja wartosc (tylko funkcje). Uzyj zwyklego selecta w procedurze.</li> </ol>
0

Przykład ze zwracaniem wartości przez argument:

T-SQL:

CREATE PROCEDURE [dbo].[usp_test] 
@out int output -- modyfikator output, aby zachować wartość zmiennej po zakończeniu procedury dla wywołującego
AS
begin
	set @out = 4

end
GO

C#:

SqlConnection	connection	= new SqlConnection("data source=localhost;Initial Catalog=northwind;user id=sa;password=password");
			
SqlParameter param = new SqlParameter("out", SqlDbType.Int);
param.Direction = ParameterDirection.Output;
			
SqlCommand	cmd	= new SqlCommand();
cmd.CommandType = CommandType.StoredProcedure;			
cmd.Parameters.Add(param);
cmd.CommandText = "usp_test";
cmd.Connection = connection;
			
connection.Open();
cmd.ExecuteNonQuery();
			
MessageBox.Show(param.Value.ToString());
			
connection.Close();
0

A faktycznie, tak tez mozna :)

0

procedury zwracaja wartosci..

przerabiajac kod casual_coder'a

CREATE PROCEDURE [dbo].[usp_test] 
AS
begin
        select cokolwiek from skadkolwiek;
        return 4;
end
GO
SqlCommand cmd = new SqlCommand("usp_test", connection); cmd.CommandType = CommandType.StoredProcedure;

SqlParameter result = cmd.Add("@return_value", SqlDbType.Int); //nazwa chyba moze byc dowolna
result.Direction = ParameterDirection.ReturnValue;

DataAdapter da = new DataAdapter();
da.SelectCommand = cmd;
DataSet ds = new DataSet();
da.fill(ds); // po tym mamy i wynik selecta w DS i returnvalue w RESULT


<b>disclaimer</b>: moga byc droben bledy, pisane z pamieci</b>

1 użytkowników online, w tym zalogowanych: 0, gości: 1