خرید بک لینک
با سلام خدمت تمامی دوستان

یک برنامه سرویسی که procedure را صدا می زند که خروجی آن DataTable می باشد.

   public DataTable TBL_Objects_SelectAll(string Fileds, string WhereClause)        {


SqlDataAdapter sqlDa = new SqlDataAdapter();


DataTable objRet = new DataTable();


try
{


using (SqlCoection objC = new SqlCoection(CoectionString))
{
objC.Open();
using (SqlCommand objCmd = objC.CreateCommand())
{
objCmd.CommandType = System.Data.CommandType.StoredProcedure;
objCmd.CommandText = "TBL_Objects_SelectAll";


objCmd.Parameters.Add(new SqlParameter("@Fileds", Fileds));
objCmd.Parameters.Add(new SqlParameter("@WhereClause", WhereClause));
//object obj = objCmd.ExecuteNonQuery();


sqlDa.SelectCommand = objCmd;
sqlDa.Fill(objRet);


}
}
}
catch (Exception ex)
{
//ex.Message
throw;
}
return objRet;
}


که در پروژه سرویس هم بدون اشکال داده بر میگرداند و اما در پروژه اصلی که برنامه به خطا برمیخورد.


TBL_ObjectsService.TBL_ObjectsServiceClient Client = new TBL_ObjectsService.TBL_ObjectsServiceClient();
try
{


DataTable dt = new DataTable();
dt = Client.TBL_Objects_SelectAll("*", "");


}
catch (Exception ex)
{
//ex.Message
throw;
}
return View();



Screenshot (264).jpg
procedure هم بدون اشکال است و به شرح زیر
ALTER PROCEDURE [dbo].[TBL_Brand_SelectAll](
@Fileds NVARCHAR(500),
@WhereClause NVARCHAR(200)
)
AS


BEGIN


DECLARE @SQL NVARCHAR(MAX)



SET @SQL = 'SELECT '+@Fileds+' FROM [TBL_Brand] '+
CASE WHEN LEN(@WhereClause) > 0 THEN +' WHERE '+@WhereClause ELSE '' END

EXEC sp_executesql @SQL


END





:متفکر:
با تشکر فراون
عکس های ضمیمه

برچسب: نویسنده: خنج تاريخ: دوشنبه 22 آبان 1396 ساعت: 2:01

صفحه بندی