PDA

View Full Version : ارور در ویرایش فرم



najmehdj
پنج شنبه 21 بهمن 1389, 14:39 عصر
من یک در فرم اصلی کلید edit دارم و با زدن اینکلید و انخاب سطر مورد نظر در صفحه دیگه داده ها باید در textbox قرار گیرند اما ارور میده و من نمیدونم مشکل از کجاست
لطفا راهناییم کنید
private void btnedit_Click(object sender, EventArgs e)
{
con.ConnectionString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\store.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";
con.Open();
cmd.Connection = con;
DataTable dt = new DataTable();
dt= getdata("select * from Insurance where PKCodeInsurance=" + dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells[0].Value.ToString());
EditInsurance eins = new EditInsurance(dt);
eins.ShowDialog();
}


در فرم دوم

public partial class EditInsurance : Form
{
SqlConnection con = new SqlConnection();
SqlCommand cmd = new SqlCommand();
public EditInsurance(DataTable dt)
{
txtcode.Text = dt.Rows[0]["PKCodeInsurance"].ToString();
txtname.Text = dt.Rows[0]["NameInsurance"].ToString();
txtpercent.Text = dt.Rows[0]["InsurancePercent"].ToString();
txtstart.Text = dt.Rows[0]["StartDate"].ToString();
txtend.Text = dt.Rows[0]["EndDate"].ToString();
InitializeComponent();
}

private void btnok_Click(object sender, EventArgs e)
{
con.ConnectionString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\store.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";
con.Open();
cmd.CommandText="UPDATE Insurance SET NameInsurance =@NameInsurance, InsurancePercent =@InsurancePercent, StartDate =@StartDate, EndDate =@EndDate where PKCodeInsurance =@PKCodeInsurance";
cmd.Parameters.AddWithValue("NameInsurance", txtname.Text.Trim());
cmd.Parameters.AddWithValue("InsurancePercent", txtpercent.Text.Trim());
cmd.Parameters.AddWithValue("StartDate",txtstart.Text.Trim());
cmd.Parameters.AddWithValue("EndDate",txtend.Text.Trim());
cmd.ExecuteNonQuery();
con.Close();
this.Close();
}

najmehdj
پنج شنبه 21 بهمن 1389, 15:51 عصر
کسی نمی تونه مشکل منو حل کنه

m.soleimani
پنج شنبه 21 بهمن 1389, 16:56 عصر
تو که همه برنامت را گذاشتی خطاهایی را هم که بهت نشون می‌ده می‌گذاشتی

در ضمن کدت را با استفاده از تگ کد این‌جا قرار بده تا راحت بشه خوندش

به هر حال اگر متغیر نمونه‌ای از جنس فرم‌های دیگه « منظور فرم شماره یکت و فرم شماره دو و ... هست » نداشته باشی نمی‌تونی از مقادیری که توابع و ایونت‌هاشون بر می‌گردونن استفاده کنی امیدوارم که متوجه شده باشی.

موفق باشید./

najmehdj
پنج شنبه 21 بهمن 1389, 17:20 عصر
می شه در مورد ساخت نمونه 1 توضیح بدید

najmehdj
پنج شنبه 21 بهمن 1389, 17:28 عصر
EditInsurance eins = new EditInsurance(dt);
اینم نمونه است که توی برنامه هست
در فرم شماره 2 که می خواد اطلاعات رو توی Textbox قرار بده ارور میده

m.soleimani
جمعه 22 بهمن 1389, 20:51 عصر
ببین شما توی کلاس فرم یکت باید متغیرهای خصوصی داشته باشی که با استفاده از پراپرتی‌ها قابل خوندن و نوشتن باشن و هر مقداری را که قصد داری ازشون به دست بیاری را به این صورت پاس کنی./

m.soleimani
جمعه 22 بهمن 1389, 21:24 عصر
اینم یه نمونه:

66240