PDA

View Full Version : چگونه می توان متغیرهای را به متغیرهای T-SQL پاس داد



منصور بزرگمهر
سه شنبه 23 تیر 1388, 06:16 صبح
فرض می کنیم در T-SQL برنامه SQL Server ما چندین متغیر تعریف کرده ایم

Variable1@
Variable2@

و قس علی هذا

حال چگونه می توان به این متغیرهای ما متغیرهای از وی بی یا سی شارپ انتقال داد.

متشکرم - بزرگمهر

a.maleki
سه شنبه 23 تیر 1388, 10:17 صبح
سلام دوست عزیز یه نگاهی به این قطعه کد بکن


create proc insclass
@className nvarchar(10)
as

declare @idmax int
if (select count(*)from t_class)>0
set @idmax=(select count(*)+1 from t_class)
else
set @idmax=1
insert into t_class (id_class,className)values (@idmax,@className)


متغیر های
@idmax , @className
به وسیله پارمتر توی vb یا c# پاس داده میشند

moferferi
سه شنبه 23 تیر 1388, 10:26 صبح
سلام.
اين يك پروسيجر با يك متغير ورودي و يك متغير خروجيه(در ديتابيس northwnd



create PROCEDURE MySpWithInandOut2
@param1 int,
@param2 int=0 OUTPUT
as
select orderid,customerid from orders where employeeid=@param1;
select @param2 =count(*)
from orders where employeeid=@param1;
return @param2;



حالا براي پاس دادن مقدار از طريق سي شارپ و دريافت مقدار خروجي اين كارو ميكنيم


string Constr = "server=192.168.0.1,1632;Initial Catalog=NORTHWND;integrated security=true;";
SqlConnection CONN = new SqlConnection(Constr);
CONN.Open();
SqlCommand cmd = CONN.CreateCommand();
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "MySpWithInandOut2";
//--input
SqlParameter inparm = cmd.Parameters.Add("param1", SqlDbType.Int);
inparm.Direction = ParameterDirection.Input;
inparm.Value = 3;
//--output
SqlParameter ouparm = cmd.Parameters.Add("param2", SqlDbType.Int);
ouparm.Direction = ParameterDirection.Output;
//--return
SqlParameter retval = cmd.Parameters.Add("return_value", SqlDbType.Int);
retval.Direction = ParameterDirection.ReturnValue;
//execute command
SqlDataReader rdr = cmd.ExecuteReader();
while (rdr.Read())
{
// dataGridView1.Rows.Add(rdr.ToString());
Console.WriteLine("{0} {1}", rdr[0].ToString().PadRight(5)
, rdr[1].ToString());
}
rdr.Close();
Console.WriteLine("the outpot {0}", cmd.Parameters["param2"].Value);
Console.WriteLine("the return {0}", cmd.Parameters["return_value"].Value);

CONN.Close();
Console.ReadLine();
}
موفق باشي