فرستادن و دریافت متغیر از نوع output در stored procedure
سلام،من جدیدا" کار با stored procedure رو شروع کردم،یه سوال داشتم،یک جدول دارم که فیلد userid رو به عنوان کلید قرار دادم،حالا یه sp ساده واسه عمل insert نوشتم که میخوام قبل از درج رکورد جدید،اول چک کنه که آیا این userid قبلا ثبت شده یا نه،واسه همین یه متغیر صحیح به نام @result و از نوع output تعریف کردم،حالا مشکلم اینه که نمیدونم با چه کدی مقدار این متغیر رو واسه #C بفرستم وهمچنین در محیط #C با چه کدی این مقدار رو بگیرم،(مقدار 1 برای وجود داشتن رکورد و مقدار 0 برای وجود نداشتن رکورد در نظر گرفتم)،من کد sp خودم رو میذارم ممنون میشم راهنمایی کنید،تشکر.
create proc adduser
@userid int,
@name nvarchar(50),
@family nvarchar(50),
@result int output
as
if(EXISTS(select * from users where userid=@userid))
set @result=1
else
begin
set @result=0
insert into users(userid,name,family)values(@userid,@name,@fam ily)
end
go
نقل قول: فرستادن و دریافت متغیر از نوع output در stored procedure
با سلام
دوست عزیز سری به لینک زیر بزن مشکلت حل میشه
موفق باشید
https://barnamenevis.org/showthread.p...tore-procedure
نقل قول: فرستادن و دریافت متغیر از نوع output در stored procedure
نقل قول:
نوشته شده توسط
sempay_ninjutsu
مشکلم حل نشد،آیا sp من درسته و مشکلی نداره؟،اگه درسته با چه کدی در محیط #C،مقدار این متغیر خروجی(0 یا 1) رو باید بدست بیارم،مشکل من همینه،دوستان لطفا راهنمایی کنید.
نقل قول: فرستادن و دریافت متغیر از نوع output در stored procedure
کسی نیست که مشکل ما رو حل کنه؟؟،:گریه::گریه:
نقل قول: فرستادن و دریافت متغیر از نوع output در stored procedure
واقعا کسی نیست که با stored procedure کار کرده باشی؟،فکر نمیکنم سوال پیچیده ای باشه.لطفا راهنمایی کنید.
نقل قول: فرستادن و دریافت متغیر از نوع output در stored procedure
سلام.
var cnn = new SqlConnection(@"Data Source=.\sqlexpress;Initial Catalog=JainsDB;Integrated Security=True");
var cmd = new SqlCommand("adduser", cnn) { CommandType = System.Data.CommandType.StoredProcedure };
cmd.Parameters.AddWithValue("@userid", "123");
cmd.Parameters.AddWithValue("@name", "ali");
cmd.Parameters.AddWithValue("@family", "mohammadi");
// add output parameter
var par = new SqlParameter("@result", System.Data.SqlDbType.Int, 50) { Direction = System.Data.ParameterDirection.Output };
cmd.Parameters.Add(par);
//////////////////////////////////////////////////////////////////////
cnn.Open();
cmd.ExecuteNonQuery();
cnn.Close();
//read parameter value after execute proc
MessageBox.Show(par.Value.ToString());