PDA

View Full Version : مشکل در ویرایش



mary3541
دوشنبه 18 خرداد 1388, 02:21 صبح
تو فرمم یک dgv دارم که اطلاعات جدول Class که عبارتند از Class_ID و TitleFaو TitleEn و Capacity در آن قرار داره
یک دکمه ویرایش نیز داخل فرم دارم که با زدن این دکمه فرم ویرایش باز میشه.فرم ویرایش از چهار کنترل bllCodeID وbllTitleFa و bllTitleEnوbllCapacity و یک دکمه ثبت تشکیل شده. با load شدن فرم ویرایش اطلاعات ردیف جاری dgv در این فرم قرار میگیره.
حال میخواهم با ویرایش این اطلاعات و زدن دکمه ثبت اطلاعات ویرایش بشه ولی error میده
برای دکمه ثبت کد زیر رو نوشتم


int Capacity;
int.TryParse(bllCapacity.txt.Text, out Capacity);
if (bllNameFa.txt.Text == "" || bllNameEn.txt.Text == "")
{
MessageBox.Show("please enter value");
return;
}
frmClass clas = new frmClass();
ds = objcla.connect();
DataRowView drv = (DataRowView)this.BindingContext[ds.Tables["Class"]].Current;
int rowid = (int)drv.Row["Class_ID"];
if (objcla.editClass(rowid, bllNameFa.txt.Text, bllNameEn.txt.Text,Capacity ))
MessageBox.Show("ویرایش انجام شد");

}

داخل لایه business layerهم کد زیر برای ویرایش هست


public Boolean editClass(int Class_ID, object TitleFa, object TitleEn, object Capacity)
{
objcla.editClass(Class_ID, TitleFa, TitleEn, Capacity);
return true;
}

و داخل لایه data layer کد زیر برای ویرایش هست


public Boolean editClass(int Class_ID, object TitleFa, object TitleEn, object Capacity)
{
SqlCommand cmd = new SqlCommand("update Class set TitleFa=@Farsi,TitleEn=@English, Capacity=@zarfyat where Class_ID=@Class_ID ", con);
cmd.CommandType = CommandType.Text;
cmd.Parameters.AddWithValue("@Farsi", TitleFa);
cmd.Parameters.AddWithValue("@English", TitleEn);
cmd.Parameters.AddWithValue("@zarfyat", Capacity);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
SqlDataAdapter sda = new SqlDataAdapter("select * from Class ", con);
sda.SelectCommand.CommandType = CommandType.Text;
sda.Fill(ds, "Class");
return true;

}


کد تابع connect هم در لایه business عبارت است از


public DataSet connect()
{
DataSet ds = new DataSet();
ds = objcla.connect();
return ds;
}

و کد تابع connect در لایه data


public DataSet connect()
{
con = new SqlConnection("data source=.\\sqlexpress;attachdbfilename=|datadirecto ry|\\AcademySystem.mdf;integrated security=true; user instance=true");
SqlDataAdapter sda = new SqlDataAdapter("select * from Class", con);
sda.SelectCommand.CommandType = CommandType.Text;
DataSet ds = new DataSet();
sda.Fill(ds, "Class");
return ds;
}

error زیر رو میده

salehbagheri
دوشنبه 18 خرداد 1388, 09:32 صبح
دوست من! تو بخش سوم كد (ديتا لاير)، پارامتر (Class_ID) رو عنوان نكردي! و بايد اين خط رو اضافه كني!



cmd.Parameters.AddWithValue("@Class_ID", Class_ID);