Mahdad999
یک شنبه 09 مرداد 1390, 20:36 عصر
با سلام،
یه مقدار NvarChar بنام @Msg توی یه Sp دارم از جنس Out دارم که با کدهای زیر مقداردهی میشه:
if (Insert ….)
begin
set @Msg = 'عضو جدید ثبت شد'
return @Msg;
end
if (@lAccId = 0 or @AccStatus=0 (
begin
set @Msg = 'شماره حساب را چک نمایید'
End
if (@lPerId = 0 or @PerStatus=0(
begin
set @Msg = 'نام و نام خانوادگی را بررسی نمایید'
--print @Msg
end
این مقدار رو توی C# بصورت زیر تعریف کردم:
cmd.Parameters.Add("@Msg", SqlDbType.NVarChar,50);
cmd.Parameters["@Msg"].Direction = ParameterDirection.Output;
و مقدار اون رو به این صورت خوندم:
MessageBox.Show(cmd.Parameters["@Msg"].Value.ToString(), "توجه");
بعد از اجرای برنامه همه چیز درست عمل میکنه و کد هم ثبت میشه، ولی روی کد cmd.ExecuteNonQuery();
ارور با عنوان:
SQLException was unhandled
و شرح ارور:
Syntax error converting the nvarchar value 'عضو جديد ثبت شد' to a column of data type int.
رو میده
نکته جالب اینجاست که وقتی این کد ها رو توی محیط Query Analyzer اجرا میکنم خروجی رو بدون هیچ ایرادی نشون میده!
این ارور رو چطور میتونم برطرف کنم؟
:متفکر:
یه مقدار NvarChar بنام @Msg توی یه Sp دارم از جنس Out دارم که با کدهای زیر مقداردهی میشه:
if (Insert ….)
begin
set @Msg = 'عضو جدید ثبت شد'
return @Msg;
end
if (@lAccId = 0 or @AccStatus=0 (
begin
set @Msg = 'شماره حساب را چک نمایید'
End
if (@lPerId = 0 or @PerStatus=0(
begin
set @Msg = 'نام و نام خانوادگی را بررسی نمایید'
--print @Msg
end
این مقدار رو توی C# بصورت زیر تعریف کردم:
cmd.Parameters.Add("@Msg", SqlDbType.NVarChar,50);
cmd.Parameters["@Msg"].Direction = ParameterDirection.Output;
و مقدار اون رو به این صورت خوندم:
MessageBox.Show(cmd.Parameters["@Msg"].Value.ToString(), "توجه");
بعد از اجرای برنامه همه چیز درست عمل میکنه و کد هم ثبت میشه، ولی روی کد cmd.ExecuteNonQuery();
ارور با عنوان:
SQLException was unhandled
و شرح ارور:
Syntax error converting the nvarchar value 'عضو جديد ثبت شد' to a column of data type int.
رو میده
نکته جالب اینجاست که وقتی این کد ها رو توی محیط Query Analyzer اجرا میکنم خروجی رو بدون هیچ ایرادی نشون میده!
این ارور رو چطور میتونم برطرف کنم؟
:متفکر: