使用像命令我有這樣存儲過程
ALTER PROCEDURE dbo.sp_CheckGlobalizationResourceValue
(
@ResourceObject NVARCHAR(255),
@ResourceName NVARCHAR(128)
)
AS
select count(*) from vpglobalizationresources
where ResourceObject = @ResourceObject and
ResourceName like '%' + @ResourceName + '%'
一個存儲過程,我使用LINQ to SQL類。我從上面顯示的.cs文件發送ResourceObject和ResourceName。它的returnValue始終爲0,爲什麼?存儲過程或cs類有什麼問題嗎?我在數據庫中運行了這個查詢,它在那裏工作得很好。
public static bool CheckGlobalizationResourceValue(string resourceObject, string resourceName)
{
try
{
using (var dataContext = new ResourceDBDataContext())
{
resourceObject = resourceObject.Replace(ConfigurationHelper.MainDirectory + "\\", "");
resourceObject = resourceObject.Replace("\\", "/");
//resourceName = string.Format("'%{0}%'", resourceName);
var result = dataContext.sp_CheckGlobalizationResourceValue(resourceObject, resourceName);
if ((int)result.ReturnValue == 0)
{
return false;
}
else
{
return true;
}
//return (int)result.ReturnValue != 0;
}
}
catch (Exception exception)
{
throw new Exception("An error occured when retrieving data from database");
}
}
而且我還從我的.dbml文件中刪除了存儲過程,並在更改後再次添加它。 –
給我的表的數據和結構,以更好地理解... – pankeel
這是很難說,因爲我不知道什麼'dataContext.sp_CheckGlobalizationResourceValue'在做什麼,我不太熟悉LINQ,但基於事實你使用'result.ReturnValue'我希望你引用了存儲過程返回的內容,而不是它的結果。默認情況下,存儲過程的返回值爲0,除非用'RETURN 1;'來覆蓋它。 – GarethD