Problem
I need to modify this function to accept stored procedure in place of tsql statment
Details
I using function execute data table this function working only by passing tsql statement from c#
I need to modify this function to execute stored procedure with two parameters Year,MemberCode
Function is ExecuteDatatable
string SQL = @"Select * From View_MembersWithPriceList where (MemberCode = N'" + txtMemberCode + "') and (RelatedMemberCode IS NULL) and (Member ='True') AND (Year = " + txtYear.Text + ")";
DTPriceList = DataAccess.ExecuteDataTable(SQL);
public static DataTable ExecuteDataTable(string sql, DbParameter[] dbprmParameters = null)
{
return ExecuteDataTable(sql, null, dbprmParameters);
}
public static DataTable ExecuteDataTable(string sql, IDbConnection dbConnection, DbParameter[] @params = null)
{
if (sql == "") return new DataTable();
DataSet ds = new DataSet();
lock (synObj)
{
sql = AnalyizeBooleanFields(sql);
cmd.CommandText = sql;
cmd.Parameters.Clear();
if (@params != null)
{
for (int i = 0; i < @params.Length; i++)
{
cmd.Parameters.Add(@params[i]);
}
}
if (dbConnection == null)
{
if (WithTransaction)
dbConnection = BeginTransaction();
else
dbConnection = InitializeConnection();
}
if (dbConnection.State != ConnectionState.Open) dbConnection.Open();
if (WithTransaction) cmd.Transaction = _transaction;
cmd.Connection = dbConnection;
IDbDataAdapter dbCurrentDataAdapter = InitializeDataAdapter();
dbCurrentDataAdapter.SelectCommand = cmd;
dbCurrentDataAdapter.Fill(ds);
if (!WithTransaction) dbConnection.Close();
}
return ds.Tables[0];
}
Actually in function ExecuteDatatable(sql);
I need to modify this function to accept stored procedure and two parameters for
txtYear,
txtMemberCode
So that FunctionAfter modify i need calling to be
ExecuteDatatable(ShowViewMembers,@Year,@Membercode)
Create proc ShowViewMembers
@Membercode int ,
@Year int
as
Select * From View_MembersWithPriceList where MemberCode=@Membercode and Year=@Year