PDA

View Full Version : سوال: پرسش درباره یک کلاس DAL و DataPassing از ان



ah.amir
یک شنبه 28 آبان 1391, 01:25 صبح
با سلام خدمت دوستان گرامی
من میخوام یه insert درون Table انجام بدم ،اومدم دستورات Data رو بصورت مجزا درون یک کلاس Dal نوشتم. سوالم اینه که آیا به این شکل که من DataPassing کردم ،کارم دچار نقص نیست؟ یا اینکه بهتر بود یک لایه دیگه (منظورم ساخت کلاس BLL هست ) میساختم و parameter ها رو اونجا مقدار دهی میکردم. البته سعی کردم این کارو بکنم اما نتونستم.

کدهارو هم میذارم
با سپاس

{
class dalAddNewcustomer
{

public static void AddItem(string CustomerId,string CompanyName,string ContactName,string ContactTitle,
string Address,string City,string Region,string PostalCode,string Country,string Phone,string Fax)
{
SqlConnection Cn = new SqlConnection(helper.connectionString);
SqlCommand cmd = new SqlCommand();
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "dbo.addingNewCustomer";
cmd.Connection = Cn;
cmd.Parameters.AddWithValue("@CustomerId", CustomerId);
cmd.Parameters.AddWithValue("@CompanyName", CompanyName);
cmd.Parameters.AddWithValue("@ContactName", ContactName);
cmd.Parameters.AddWithValue("@ContactTitle", ContactTitle);
cmd.Parameters.AddWithValue("@Address", Address);
cmd.Parameters.AddWithValue("@City", City);
cmd.Parameters.AddWithValue("@Region", Region);
cmd.Parameters.AddWithValue("@PostalCode",PostalCode);
cmd.Parameters.AddWithValue("@Country", Country);
cmd.Parameters.AddWithValue("@Phone", Phone);
cmd.Parameters.AddWithValue("@Fax", Fax);
Cn.Open();
cmd.ExecuteNonQuery();
Cn.Close();
}
}
}



private void buttonInsert_Click(object sender, EventArgs e)
{

dalAddNewcustomer.AddItem(textBoxCustomerId.Text,t extBoxCompanyName.Text,textBoxContactName.Text,
textBoxContactTitle.Text,textBoxAddress.Text,textB oxCity.Text,textBoxRegion.Text,
textBoxPostalCode.Text,textBoxCountry.Text,textBox Phone.Text,textBoxFax.Text);

}

ah.amir
یک شنبه 28 آبان 1391, 19:05 عصر
دوستان عزیز، کسی راهنمایی نمیکنه؟؟

ah.amir
دوشنبه 29 آبان 1391, 02:15 صبح
دوستان لطف کنید راهنمایی کنید!!!!!!!!

AmirGhasemi
دوشنبه 29 آبان 1391, 14:40 عصر
سلام
داداش ما كه نفهميديم چي نوشتي؟ منتها اگر مي خواهي از DAL‌استفاده كني بهتره كه اونو به جاي يك كلاس ببري به يك لايه ديگر و از SP‌استفاده كني
بهترني روش براي اين كار Linq to SQL‌است

ah.amir
دوشنبه 29 آبان 1391, 17:35 عصر
سلام
داداش ما كه نفهميديم چي نوشتي؟ منتها اگر مي خواهي از DAL‌استفاده كني بهتره كه اونو به جاي يك كلاس ببري به يك لايه ديگر و از SP‌استفاده كني
بهترني روش براي اين كار Linq to SQL‌است

بازم دمت گرم که یه جواب دادی. ممنون ازت AmirGhasemi

کدها رو گذاشتم اما بذار یه جور دیگه سوالمو بپرسم:

من میخوام به پارامترها در یک کلاس دیگه مقداردهی کنم .
میخوام این بخش از کدها درون یک کلاس دیگه باشه.
cmd.Parameters.AddWithValue("@CustomerId", CustomerId); cmd.Parameters.AddWithValue("@CompanyName", CompanyName);
cmd.Parameters.AddWithValue("@ContactName", ContactName);
cmd.Parameters.AddWithValue("@ContactTitle", ContactTitle);
cmd.Parameters.AddWithValue("@Address", Address);
cmd.Parameters.AddWithValue("@City", City);
cmd.Parameters.AddWithValue("@Region", Region);
cmd.Parameters.AddWithValue("@PostalCode",PostalCo de);
cmd.Parameters.AddWithValue("@Country", Country);
cmd.Parameters.AddWithValue("@Phone", Phone);
cmd.Parameters.AddWithValue("@Fax", Fax);

لطف میکنید اگر توی این زمینه راهنماییم کنید