PDA

View Full Version : کمک برای کد ویرایش در معماری سه لایه



Samtak
پنج شنبه 20 تیر 1392, 01:59 صبح
با سلام خدمت برنامه نویسان عزیز
من یک برنامه دارم 3 لایه هستش توی یک Solution سه پروژه هست دوتاش Class Library برای DAL و BLL و یه پروژه دیگه که UI هست
این کد DAL :


public int Update(string ContentNoti, string SubjectNoti, string DateNoti)
{
DB obj = new DB(); //برای رشته اتصال
Cmd = new SqlCommand();
//Cmd.CommandType = CommandType.StoredProcedure;
//Cmd.CommandText = "sp_Product_Update";
Cmd.CommandType = CommandType.Text;
Cmd.CommandText = "Update Notification SET ContentNoti=@ContentNoti , SubjectNoti=@SubjectNoti , DateNoti=@";
Cmd.Parameters.Clear();
Cmd.Parameters.AddWithValue("@ContentNoti", ContentNoti);
Cmd.Parameters.AddWithValue("@SubjectNoti", SubjectNoti);
Cmd.Parameters.AddWithValue("@DateNoti", DateNoti);
return (obj.UID(Cmd));// این هم در نهایت یک عدد برمی گردونه 1 یا 0(در ست اجرا شد یا نه)
}

و این هم کد لایه BLL :



public int UpdateNotification(string ContentNoti,string SubjectNoti,string DateNoti)
{
Notification objDAL = new Notification();
return (objDAL.Update(ContentNoti,SubjectNoti,DateNoti));
}

و این هم کد لایه UI :



protected void btnEdit_Click(object sender, EventArgs e)
{
NotificationBLL objBLL = new NotificationBLL();

DateTime dt = new DateTime();
dt = DateTime.Now;
string date = dt.Year.ToString() + "/" + dt.Month.ToString() + "/" + dt.Day.ToString();
string datePersian = objDate.Shamsi(date);

try
{
objBLL.UpdateNotification(CKEditorControl1.Text, ddlSearch.SelectedValue, datePersian);
lblMassege.ForeColor = System.Drawing.Color.Green;
lblMassege.Text = "اطلاعیه با موفقیت ویرایش شد";
}
catch
{
lblMassege.Text = "اشکال در ویرایش اطلاعیه";
}
}

و اما حالا
من وقتی میخوام یک رکوردو ویرایش می کنم کل رکوردا ویرایش میشن و تغییر می کنن در ضمن کلید اصلی توی جدول هم فیلدیه بنام IDNoti که خاصیت Identity Specification رو Yes کردم
تقریبا می دونم باید شرط Where IDNoti =@IDNoti توی دستور Update بنویسم اما می خوام بدونم بعدش پارامترها باید چجوری بشن
اصلا راه حلش چیه لطفا راه حلش رو بگید .

esafb52
پنج شنبه 20 تیر 1392, 03:37 صبح
این یا ناقص گذاشتیش یا اشکال داره
Cmd.CommandText = "Update Notification SET ContentNoti=@ContentNoti , SubjectNoti=@SubjectNoti , DateNoti=@";

esafb52
پنج شنبه 20 تیر 1392, 03:39 صبح
این رو ببین
idcurentrow = dgw.CurrentRow.Cells["Id"].Value.ToString();
cmd.Parameters.Clear();
cmd.CommandText = "Update tbpic set fullname=@1,tell=@2,picnumber=@3,path=@4 Where id=@id";
cmd.Parameters.AddWithValue("@1", textBoxX1.Text);
cmd.Parameters.AddWithValue("@2", textBoxX2.Text);
cmd.Parameters.AddWithValue("@3", textBoxX3.Text);
cmd.Parameters.AddWithValue("@4", textBoxX4.Text);
//cmd.Parameters.AddWithValue("@5", arrImage);
cmd.Parameters.AddWithValue("@id", idcurentrow);