View Full Version : چگونه می توان متغیرهای را به متغیرهای T-SQL پاس داد
  
منصور بزرگمهر
سه شنبه 23 تیر 1388, 07:16 صبح
فرض می کنیم در T-SQL برنامه SQL Server ما چندین متغیر تعریف کرده ایم
Variable1@
Variable2@
و قس علی هذا
حال چگونه می توان به این متغیرهای ما متغیرهای از وی بی یا سی شارپ انتقال داد.
متشکرم - بزرگمهر
a.maleki
سه شنبه 23 تیر 1388, 11: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, 11: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();
        }
موفق باشي
 
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.