notepad
شنبه 20 آبان 1396, 23:07 عصر
با سلام خدمت تمامی دوستان
یک برنامه سرویسی که procedure را صدا می زند که خروجی آن DataTable می باشد.
public DataTable TBL_Objects_SelectAll(string Fileds, string WhereClause) {
SqlDataAdapter sqlDa = new SqlDataAdapter();
DataTable objRet = new DataTable();
try
{
using (SqlConnection objCnn = new SqlConnection(ConnectionString))
{
objCnn.Open();
using (SqlCommand objCmd = objCnn.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();
147027
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
:متفکر:
با تشکر فراون
یک برنامه سرویسی که procedure را صدا می زند که خروجی آن DataTable می باشد.
public DataTable TBL_Objects_SelectAll(string Fileds, string WhereClause) {
SqlDataAdapter sqlDa = new SqlDataAdapter();
DataTable objRet = new DataTable();
try
{
using (SqlConnection objCnn = new SqlConnection(ConnectionString))
{
objCnn.Open();
using (SqlCommand objCmd = objCnn.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();
147027
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
:متفکر:
با تشکر فراون