PDA

View Full Version : ذخیره اطلاعات یک ستون از datagridview در دیتابیس



saeedhushmand
جمعه 06 آبان 1390, 15:47 عصر
یک datagrid view دارم که با هر بار جستجو یک سری از اطلاعات جدول دیتابیسم در اون قرار می گیره و یک textbox دارم من می خوام با زدن یک button عدد داخل این textbox به یک ستون از datagrid view بره این کارو می تونم انجام بدم ولی بلد نیستم چه جوری این اطلاعات که توی گرید ویو می یاد رو در جدول دیتابیسم ذخیره کنم

sobaisobai
جمعه 06 آبان 1390, 16:08 عصر
سلام
میتونی یه حلقه بذاری و کل گرید رو ذخیره کنی
for (int i = 0; i <dataGridView1.Rows.Count; i++)
{
OleDbConnection my_cn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Database1.mdb");
my_cn.Open();
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = my_cn;
cmd1.CommandText = "insert into table1 Values('" + dataGridView1.Rows[i].Cells[0].Value +
"','" + dataGridView1.Rows[i].Cells[1].Value +
"','" + dataGridView1.Rows[i].Cells[2].Value + "') ";
cmd.ExecuteNonQuery();
}
موفق باشی

saeedhushmand
جمعه 06 آبان 1390, 16:18 عصر
ببخشید ولی oledbconnection error می ده فکر می کنم به خاطر اینکه من از sql استفاده می کنم
لطفا اگه دلیلش اینه کد sql اشو برام بنویس


ممنون....

sobaisobai
جمعه 06 آبان 1390, 16:24 عصر
ارورش چیه ؟
using System.Data.OleDb;
NameSpace اضافه کردی؟
اگر SQL هست
using System.Data.Sql;
اضافه کن
وبه جای Oledb کانکشن Sql بنویس

saeedhushmand
جمعه 06 آبان 1390, 16:31 عصر
ببخشید این تیکه از فرمول باید چه جوری ویرایش کنم
OleDbConnection my_cn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0 ;Data Source=Database1.md);

منظورم قسمت ابی رنگه که دیتابیسم صدا بزنم

sobaisobai
جمعه 06 آبان 1390, 16:34 عصر
بله اگه اکسس باشه

saeedhushmand
جمعه 06 آبان 1390, 18:10 عصر
من این کد اضافه کردم ولی فرم می بنده و اطلاعات ذخیره نمی کنه

sobaisobai
جمعه 06 آبان 1390, 18:38 عصر
کد کامل رویداد Button رو بذار

saeedhushmand
جمعه 06 آبان 1390, 18:47 عصر
من از دیتابیس sql استفاده می کنم اما کدی که شما دادید برای sql نبود ولی من ویرایشش کردم اما اون مشکل پیش اومد
من مبتدیم لطفا کامل کد بنویسید..

private void glassButton2_Click_1(object sender, EventArgs e)
{
for (int i = 0; i <dataGridView2.Rows.Count; i++)
{


SqlConnection myConn;
SqlCommand myComm;
StrConn = "SERVER=.;DATABASE=laberator2;Integrated Security=True";
StrQury = "insert into Table_1 Values('" + dataGridView2.Rows[i].Cells[1].Value + "') ";
myConn = new SqlConnection(StrConn);
myComm = new SqlCommand();
myComm.Connection = myConn;
myComm.CommandType = CommandType.Text;
myComm.CommandText = StrQury;
myConn.Open();
myComm.ExecuteNonQuery();
myConn.Close();
}

sobaisobai
جمعه 06 آبان 1390, 18:53 عصر
کدت مشکل نداره
ببین ایرادت از کجاست؟
اینجا شما گفتی :
private void glassButton2_Click_1(object sender, EventArgs e)
کد بالا رو حذف کن دوباره رو Button دوبار کلیک کن و از نوع کد زیر رو بنویس
دقت کن تو محیط کدت هیچ رویداد کلیکی از glassButton2 نباشه
for (int i = 0; i <dataGridView2.Rows.Count; i++)
{
SqlConnection myConn;
SqlCommand myComm;
StrConn = "SERVER=.;DATABASE=laberator2;Integrated Security=True";
StrQury = "insert into Table_1 Values('" + dataGridView2.Rows[i].Cells[1].Value + "') ";
myConn = newSqlConnection(StrConn);
myComm = newSqlCommand();
myComm.Connection = myConn;
myComm.CommandType = CommandType.Text;
myComm.CommandText = StrQury;
myConn.Open();
myComm.ExecuteNonQuery();
myConn.Close();
}

saeedhushmand
جمعه 06 آبان 1390, 19:13 عصر
متاسفانه درست نشد
ممنون از راهنماییات..

sobaisobai
جمعه 06 آبان 1390, 19:19 عصر
برادر اگه پروژه رو بذاری بهتر راهنماییت میکنم
اگه نمیتونی همون فرمی که توش مشکل داری رو اپلود کن فقط

behzadboloori
چهارشنبه 11 آبان 1390, 18:54 عصر
چطوری میشه Microsoft.ACE.OLEDB.12 رو به لیست پرو وایدر ها اضافه کرد؟

sobaisobai
چهارشنبه 11 آبان 1390, 19:12 عصر
چطوری میشه Microsoft.ACE.OLEDB.12 رو به لیست پرو وایدر ها اضافه کرد؟
سلام
متوجه نشدم واضح تر میگید میخواهید چیکارکنید؟

mz1168
جمعه 27 مرداد 1391, 09:16 صبح
سلام من یک برنامه هفتگی با دیتاگرید ویو و یک جدول در دیتا بیس درست کردم. یک فیلد آن ایام هفته نام دارد و فیلدهای دیگرش ساعات 8-6 10-8 12-10 14-12 و.... و فیلد ایام هفته در پایگاه داده با روز های هفته مقدار گرفته حالا در دیتاگرید که این جدول می آید، در بعضی از روزها و ساعت ها مربیان کلاس دارند و نام آنها در همان تکست باکس ذخیره می شود. حال برای ذخیره کردن این دیتا گرید چگونه می توان تنها فیلد هایی که مقدار دارند را ذخیره کرد؟ اگر کد مربوطه را بگویید ممنون می شوم.

علی فتحی
شنبه 19 بهمن 1392, 13:59 عصر
ایا این روش با لینک هم امکان داره؟
LINQ

sab_9185
چهارشنبه 16 اردیبهشت 1394, 13:10 عصر
اگه لطف کنین ببا تکنولوژی entity framework هم لطف کنین ممنون میشم

jejol11
چهارشنبه 13 خرداد 1394, 09:52 صبح
سلام من از لینک یو استفاده میکنم میخوام وقتی که دکمه زده میشه محتویات گرید ویو تد دیتا بیس ذخیره بشه.
کمک کنید مبتدیم.
ممنون

jejol11
چهارشنبه 13 خرداد 1394, 09:54 صبح
سلام کسی هست کمک کنه؟؟؟