1 ضمیمه
عمل نکردن دستور اینسرت و آپدیت
سلام دوستان گرامی
من میخوام تمام اطلاعاتی که تو دیتا گرید ویو ثبت میشه همون لحظه تو بانکم ذخیره بشه این قطعه برنامه رونوشتم
ولی چند تا مشکل داره مشکل داره
1 . ی سطرو آپدیت میکنه ولی تمام اطلاعات قبلی رو اگه فارسی باشه به صورت علامت سوال نشون میده
2.وقتی ی ستون دارم اطلاعاتشو وارد میکنم بعد میرم که ستون بعدی رو وارد کنم ی سطر اضافه میکنه و وقتی ستون دومو وارد میکنم میرم ستنون بعدی بازم ی سطر دیگه اضافه میکنه - یعنی مثل این عکس میشه جدولم
ضمیمه 150333
بانکم 4تا ستون داره
ncontactId == int
(name == nvarchar (250
family==nvarchar (250
personalnumber==int
private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
id = dataGridView1.CurrentRow.Cells[0].Value.ToString();
if (id=="")
{
String conectionstring = "data source =.;initial catalog=db_ass;integrated security =true ";
SqlConnection conection = new SqlConnection(conectionstring);
string query = " insert into tbluser values ( '" + dataGridView1.Rows[e.RowIndex].Cells[1].Value.ToString()+"','" + dataGridView1.Rows[e.RowIndex].Cells[2].Value.ToString()+"','" + dataGridView1.Rows[e.RowIndex].Cells[3].Value.ToString()+"'";
SqlCommand comand = new SqlCommand(query, conection);
conection.Open();
comand.ExecuteNonQuery();
conection.Close();
NewMethod();
}
else
{
String conectionstring = "data source =.;initial catalog=db_ass;integrated security =true ";
SqlConnection conection = new SqlConnection(conectionstring);
string query1 = " update tbluser set name= '" + dataGridView1.Rows[e.RowIndex].Cells[1].Value.ToString() + "',family='" + dataGridView1.Rows[e.RowIndex].Cells[2].Value.ToString() + "',personalnumber='" + dataGridView1.Rows[e.RowIndex].Cells[3].Value.ToString() + "' where ncontactId="+id+"";
SqlCommand comand1 = new SqlCommand(query1, conection);
conection.Open();
comand1.ExecuteNonQuery();
conection.Close();
NewMethod();
}
نقل قول: عمل نکردن دستور اینسرت و آپدیت
سلام
برای فارسی نوشتن که باید قبل از فیلدهاتون N بزارید و نوعش از نوع NVARCHAR باشه و بارها تکرار شده
برای مشکل اینسرت هم شما اومدین دستور INSERT رو داخل رخداد VALUECHANGE گذاشتین و هربار که یکی از سلولها تغییر میکنه یه رکورد ثبت میشه اشتباهتون همینجاس
1 ضمیمه
نقل قول: عمل نکردن دستور اینسرت و آپدیت
متشکرم من این کدو نوشتم ولی این پیغامو میده ضمیمه 150344
private void button2_Click(object sender, EventArgs e)
{
for (int i =0;i<dataGridView1.Rows.Count;i++)
{
String conectionstring = "data source =.;initial catalog=db_ass;integrated security =true ";
SqlConnection conection = new SqlConnection(conectionstring);
string query = " insert into tbluser values ('" + dataGridView1.Rows[i].Cells[0].Value.ToString() + "', '" + dataGridView1.Rows[i].Cells[1].Value.ToString() + "','" + dataGridView1.Rows[i].Cells[2].Value.ToString() + "','" + dataGridView1.Rows[i].Cells[3].Value.ToString() + "')";
SqlCommand comand = new SqlCommand(query, conection);
conection.Open();
comand.ExecuteNonQuery();
conection.Close();
}
ولی بعدا که میرم تو بانکم اطلاعاتم ثبت شده نمیدونم دقیقا کدوم خالی میره واسه بانک
ستون اول و اخرم از نوع int
دوتاستون وسط nvarchar
ممنون میشم جواب بدید
نقل قول: عمل نکردن دستور اینسرت و آپدیت
اگه دیتاگریدتون add , edit ش فعاله احتمال میدم باتوجه به کدهاتون رو خط آخر خطا میده.شما حلقه for رو یه مرحله کم کنید ببیند درست میشه یا نه