bahareh1368
دوشنبه 10 آبان 1389, 17:56 عصر
باسلام خدمت دوستان عزیزم.
من در فرم ثبت یه دیتاگرید دارم که می خوام همزمان با ثبت،اطلاعات ثبت شده را در دیتاگرید ببینم.این برنامه با کمک storeproceture کار می کنه که من دیتابیس و پروسیچرشو در همون محیط سی شارپ ایجاد کردم.کدم خطا داره.اولا که اصلا عمل ثبت را انجام نمی ده و مطمئنم که در دستور cmd.parameter.add("@Name",sqldbtype.nvarchar,50).value=dgv.currentrow.cell["Name"].tostring();
و مشابه اینها که در زیر نوشتم مشکل داره و دوما خطای زیر را هم می ده:
روی کد بالا زرد رنگ پیغام : "object reference not set to an instance of an object" مشاهده می شه.اینم کدهام:
private void btnsave_Click(object sender, EventArgs e)
{
SqlConnection cn = new SqlConnection();
SqlCommand cmd = new SqlCommand();
cn.ConnectionString = "server=HAMED-PC;Database=Farafan;trusted_connection=true;";
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "dbo.Psave";
cmd.Parameters.Add("@Name", SqlDbType.NVarChar,50).Value = dgv.CurrentRow.Cells["Name"].ToString();
cmd.Parameters.Add("@FName", SqlDbType.NVarChar, 50).Value = dgv.CurrentRow.Cells["FName"].ToString();
cmd.Parameters.Add("@FatherName", SqlDbType.NVarChar, 50).Value = dgv.CurrentRow.Cells["FatherName"].ToString();
cmd.Parameters.Add("@DateBirth", SqlDbType.DateTime2, 7).Value = dgv.CurrentRow.Cells["DateBirth"].ToString();
cmd.Parameters.Add("@DateEmployee", SqlDbType.DateTime2, 7).Value = dgv.CurrentRow.Cells["DateEmployee"].ToString();
cmd.Parameters.Add("@Phone", SqlDbType.VarChar, 50).Value = dgv.CurrentRow.Cells["Phone"].ToString();
cmd.Parameters.Add("@Cellphone", SqlDbType.NVarChar, 50).Value = dgv.CurrentRow.Cells["Cellphone"].ToString();
cmd.Parameters.Add("@Address", SqlDbType.NVarChar, 150).Value = dgv.CurrentRow.Cells["Address"].ToString();
da.Fill(dt);
dgv.DataSource = dt;
MessageBox.Show("Information was Saved Succsessfully", "Insert Message", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
لطفا راهنماییم کنید.
من در فرم ثبت یه دیتاگرید دارم که می خوام همزمان با ثبت،اطلاعات ثبت شده را در دیتاگرید ببینم.این برنامه با کمک storeproceture کار می کنه که من دیتابیس و پروسیچرشو در همون محیط سی شارپ ایجاد کردم.کدم خطا داره.اولا که اصلا عمل ثبت را انجام نمی ده و مطمئنم که در دستور cmd.parameter.add("@Name",sqldbtype.nvarchar,50).value=dgv.currentrow.cell["Name"].tostring();
و مشابه اینها که در زیر نوشتم مشکل داره و دوما خطای زیر را هم می ده:
روی کد بالا زرد رنگ پیغام : "object reference not set to an instance of an object" مشاهده می شه.اینم کدهام:
private void btnsave_Click(object sender, EventArgs e)
{
SqlConnection cn = new SqlConnection();
SqlCommand cmd = new SqlCommand();
cn.ConnectionString = "server=HAMED-PC;Database=Farafan;trusted_connection=true;";
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "dbo.Psave";
cmd.Parameters.Add("@Name", SqlDbType.NVarChar,50).Value = dgv.CurrentRow.Cells["Name"].ToString();
cmd.Parameters.Add("@FName", SqlDbType.NVarChar, 50).Value = dgv.CurrentRow.Cells["FName"].ToString();
cmd.Parameters.Add("@FatherName", SqlDbType.NVarChar, 50).Value = dgv.CurrentRow.Cells["FatherName"].ToString();
cmd.Parameters.Add("@DateBirth", SqlDbType.DateTime2, 7).Value = dgv.CurrentRow.Cells["DateBirth"].ToString();
cmd.Parameters.Add("@DateEmployee", SqlDbType.DateTime2, 7).Value = dgv.CurrentRow.Cells["DateEmployee"].ToString();
cmd.Parameters.Add("@Phone", SqlDbType.VarChar, 50).Value = dgv.CurrentRow.Cells["Phone"].ToString();
cmd.Parameters.Add("@Cellphone", SqlDbType.NVarChar, 50).Value = dgv.CurrentRow.Cells["Cellphone"].ToString();
cmd.Parameters.Add("@Address", SqlDbType.NVarChar, 150).Value = dgv.CurrentRow.Cells["Address"].ToString();
da.Fill(dt);
dgv.DataSource = dt;
MessageBox.Show("Information was Saved Succsessfully", "Insert Message", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
لطفا راهنماییم کنید.