انتقال اطلاعات از datagridview به database
با سلام من یک فرم دارم که درون آن یک تکست باکس دارم به همراه یک دیتا گرید ویو در تکست باکس من یک کدی ثبت می گردد و در دیتا گرید ویو هم اطلاعات مربوط به آن کد ثبت می گردد .تعداد ردیف های دیتا گرید ویو متغیر می باشد و مشکل بنده اینه که چه کدی بزارم که با زدن یک باتن در روی فرم اطلاعات مربوط به آن کد در دیتابیس بشینه
مقدار |
نام ماده |
45 |
گندم |
30 |
سویا |
مقدار |
نام ماده |
کد |
45 |
گندم |
0065 |
30 |
سویا |
0065 |
جدول دیتابیس دیتا گرید ویو
مثل جدول فوق که دو رکورد دارم فقط دو بار کد 0065 تکرار شده ولی اگه مثلا ده تا بود باید ده تا رکورد تو جدول دیتابیس تکرار بشه .اگه کسی کمکم کنه ممنون میشم
نقل قول: انتقال اطلاعات از datagridview به database
سلام
نمی دونم درست متوجه منظورتون شدم یا نه، اما اگر فقط مشکلتون با تعداد متغیر رکوردها در دیتاگریدویو هستش براحتی می تونید به کمک یه for کل دیتاگریدویو رو پیمایش کنید و رکوردها رو در دیتابیس ثبت کنید.
مثلا می تونید داخل حلقه for رکوردها رو تک تک در دیتابیس ثبت کنید :
for (int i = 0; i < dataGridView1.Rows.Count-1; i++)
{
// Insert dataGridView1.Rows[i]
}
موفق باشید
2 ضمیمه
نقل قول: انتقال اطلاعات از datagridview به database
private void button1_Click(object sender, EventArgs e)
{
try
{
if (dataGridView1.Rows.Count > 1)
{
for (int i = 0; i <= dataGridView1.Rows.Count - 1; i++)
{
string Column1 = dataGridView1.Rows[i].Cells[0].Value.ToString();
string Column2 = dataGridView1.Rows[i].Cells[1].Value.ToString();
{
string insert = "INSERT INTO RECIPTION(Column1 ,Column2) VALUES(@Column1,@Column2)";
Form1 .conn .Open();
SqlCommand cmd = new SqlCommand(insert, Form1.conn);
cmd.Parameters.AddWithValue("@Column1", SqlDbType.NVarChar).Value = dataGridView1.Rows[i].Cells[0].Value;
cmd.Parameters.AddWithValue("@Column2", SqlDbType.NVarChar).Value = dataGridView1.Rows[i].Cells[1].Value;
cmd.ExecuteNonQuery();
}
}
Form1.conn.Close();
}
}
catch (Exception ex)
{
ex.Message.ToString();
}
}
سلام دوست عزیز این کدهام هست هر کار که میکنم ذخیره نمیکنه البته یکسری کارای دیگه هم دارم که در تصاویر فزستادم اگه کمکم کنید یه دنیا ممنون میشم
نقل قول: انتقال اطلاعات از datagridview به database
private void button2_Click_1(object sender, EventArgs e)
{
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
Form1.conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = Form1.conn;
cmd.CommandText = "insert into RECIPTION Values('" + textBox1 .Text +
"','" + dataGridView1.Rows[i].Cells[1].Value +
"','" + dataGridView1.Rows[i].Cells[2].Value + "') ";
cmd.ExecuteNonQuery();
Form1.conn.Close();
}
}
مشکلم با انتقال ردیف های دیتا گرید ویو حل شد با کد بالا ؛فقط نمتونم متن داخل تکست باکس را به تعداد ردیف های دیتا گرید ویو در دیتابیس تکرار کنم .
نقل قول: انتقال اطلاعات از datagridview به database
نقل قول:
نوشته شده توسط
محمد علی کارگر
مشکلم با انتقال ردیف های دیتا گرید ویو حل شد با کد بالا ؛فقط نمتونم متن داخل تکست باکس را به تعداد ردیف های دیتا گرید ویو در دیتابیس تکرار کنم .
سلام
فقط کافیه توو همون کوئریتون متن تکست باکستون رو هم اضافه کنید :
string Insert = "INSERT INTO RECIPTION(Column0 ,Column1 ,Column2) VALUES(@Column0,@Column1,@Column2)";
cmd.Parameters.AddWithValue("@Column0", SqlDbType.NVarChar).Value = textBox1.Text;
cmd.Parameters.AddWithValue("@Column1", SqlDbType.NVarChar).Value = dataGridView1.Rows[i].Cells[0].Value;
cmd.Parameters.AddWithValue("@Column1", SqlDbType.NVarChar).Value = dataGridView1.Rows[i].Cells[1].Value;
به این نکته توجه داشته باشید که بهتره Connection به دیتابیس رو قبل حلقه for باز کنید و بعد از پایانش ببندید.
موفق باشید