الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كلاس للتعامل مع ال stored procedures + سؤال

مغلقمُجاب
بدأه hadi2005 في 13 مارس 2013 · 1 رد · 919 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع


السلام عليكم ورحمة الله وبركاته ،،،

 

هذا كلاس للتعامل مع ال stored procedures بطريقة سهلة ان شاء الله :

اتمنى افادتي اذا كان هناك اي ملاحظات على الكود  :)

 

public class DatabaseLayer
{
    SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["HOR2013"].ConnectionString.ToString());
	public DatabaseLayer()
	{
		//
		// TODO: Add constructor logic here
		//
	}
  
    public string ExecuteScaler_SP(string SP_Name, string[,] Inputs)
    {
        con.Open();
        SqlCommand cmd = new SqlCommand(SP_Name, con);
        cmd.CommandType = CommandType.StoredProcedure;
        if (Inputs != null)
        {
            for (int i = 0; i < (Inputs.Length / 2); )
            {
                cmd.Parameters.Add("@" + Inputs[i, 0], Inputs[i, 1]);
                i++;
            }
        }
        string row_affected = Convert.ToString(cmd.ExecuteScalar());
        con.Close();
        return row_affected;
    }
   public int ExecuteQuery_SP(string SP_Name, string[,] Inputs)
    {
        con.Open();
        SqlCommand cmd = new SqlCommand(SP_Name, con);
        cmd.CommandType = CommandType.StoredProcedure;
        if (Inputs != null)
        {
            for (int i = 0; i < (Inputs.Length / 2); )
            {
                cmd.Parameters.Add("@" + Inputs[i, 0], Inputs[i, 1]);
                i++;
            }
        }
        int row_affected = cmd.ExecuteNonQuery();
        con.Close();
        return row_affected;
    }
    public DataSet ReturnDataset_SP(string SP_Name, string[,] Inputs)
    {
        con.Open();
        SqlDataAdapter adpt = new SqlDataAdapter(SP_Name, con);
        adpt.SelectCommand.CommandType = CommandType.StoredProcedure;
        if (Inputs != null)
        {
            for (int i = 0; i < (Inputs.Length / 2); )
            {
                adpt.SelectCommand.Parameters.Add("@" + Inputs[i, 0], Inputs[i, 1]);
                i++;
            }
        }
        DataSet ds = new DataSet();
        adpt.Fill(ds);
        con.Close();
        return ds;
    }
    public DataTable ReturnDataTable_SP(string SP_Name, string[,] Inputs)
    {
        con.Open();
        SqlDataAdapter adpt = new SqlDataAdapter(SP_Name, con);
        adpt.SelectCommand.CommandType = CommandType.StoredProcedure;
        if (Inputs != null)
        {
            for (int i = 0; i < (Inputs.Length / 2); )
            {
                adpt.SelectCommand.Parameters.Add("@" + Inputs[i, 0], Inputs[i, 1]);
                i++;
            }
        }
        DataTable dt = new DataTable();
        adpt.Fill(dt);
        con.Close();
        return dt;
    }
}

 

 

 

بالنسبة لسؤالي هو كالتالي :

 

عند استدعائي للكلاس فإني اعمل التالي :

 

 string[,] inputs = {{"Input", "%"+txt_item_code.Text+"%"}};
                string Item_Code = db_obj.ExecuteScaler_SP("Get_Item_Code_like",inputs);

 

 

مافي طريقة بحيث يكون تعريف المصفوفة في نفس سطر استدعاء الكلاس ؟؟؟ 

 

ان شاء الله الاقي اقتراحات عندكم ....

 

شكرا جزيلا لكم جميعاً

#2 أفضل إجابة

تم ايجاد الكود المناسب :

 

 string Item_Code = db_obj.ExecuteScaler_SP("Get_Item_Code_like_ItemCode_ItemDes", new string[,] { { "Input", "%" + txt_item_code.Text + "%" } });

اتمنى الجميع يستفيدو منه 

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…