PDA

View Full Version : سوال: استفاده از مقدار برگشتی function در asp.net



IceBoomBoom
دوشنبه 05 تیر 1391, 17:08 عصر
سلام

من یک function زیر رو در sqlserver2005 نوشتم
use FoodChips

Go

alter Function CheckInsert_tblUser (@fName nvarchar(50),@fLoginName nvarchar(50)) returns int
AS
begin
declare @Id int,
@retVal int
select @Id=(select urId from tblUser
where urName=@fName
or urLoginName=@fLoginName)
if (@Id>0)
set @retval= 0
else
set @retval= 1

return @retVal
end




ولی از داخل asp.net نمیتونم از مقدار برگشتی تابع استفاده کنم:
public bool checkInsert()
{

SqlConnection SQLConn = FoodChips.MyClass.DBCls.WebFoodChipsConn();
SqlCommand sqlCmnd = new SqlCommand("CheckInsert_tblUser", SQLConn);
sqlCmnd.CommandType = CommandType.StoredProcedure;

sqlCmnd.Parameters.Add("@fName", SqlDbType.NVarChar, 50);
sqlCmnd.Parameters["@fName"].Value = fName;

sqlCmnd.Parameters.Add("@fLoginName", SqlDbType.NVarChar, 50);
sqlCmnd.Parameters["@fLoginName"].Value = fLoginName;

SQLConn.Open();
int retVal = int.Parse(sqlCmnd.ExecuteScalar().ToString());
SQLConn.Close();
if (retVal == 1)
return true;
return false;
}

IceBoomBoom
دوشنبه 05 تیر 1391, 17:18 عصر
اضافه کنم که در خطی از ExecuteScalar استفاده کردم خطای زیر را مشاهده میکنم

Object reference not set to an instance of an object

و با trace کردن هم متوجه شدم مقداری که این تابع برمیگردونه null ست

mehrzad_ali
دوشنبه 05 تیر 1391, 18:25 عصر
http://bytes.com/topic/visual-basic-net/answers/380722-calling-stored-sql-function-asp-net-how