PDA

View Full Version : چه جوری میشه کل سطر های دیتا گرید رو تو دیتابیس ذخیره کرد؟



sobaisobai
جمعه 22 مهر 1390, 21:13 عصر
سلام به همگی
اساتید برنامه نویس، چه جوری میشه کل سطر های دیتا گرید رو تو دیتابیس ذخیره کرد؟

nilmil_nil
جمعه 22 مهر 1390, 21:20 عصر
سلام
با یه حلقه فور سطر هاشو تو دیتابیس Insert کن

modern_amin
شنبه 23 مهر 1390, 08:21 صبح
سلام دوستان
.
آیا روشی هست که نیاز نباشه تک تک insert کنیم و یهو کا دیتاگرید رو تو دیتابیس ذخیره کنیم؟؟؟

wolf_majid
شنبه 23 مهر 1390, 09:04 صبح
همونطور که جناب nilmil گفتند می تونید با حلقه for این کار را انجام بدید
برای ستون هاش هم یا می تونید از حلقه استفاده کنید ( که پیشنهاد نمی کنم ) و یا دستی نام ستون ها را بنویسید

sobaisobai
شنبه 23 مهر 1390, 11:18 صبح
سلام مجدد
اگه میشه یه کدی چیزی بدید ممنون میشم
با تشکر

sobaisobai
شنبه 23 مهر 1390, 11:58 صبح
کسی نیست راهنمایی کنه؟

wolf_majid
شنبه 23 مهر 1390, 13:07 عصر
private void button1_Click(object sender, EventArgs e)
{
connect con = new connect("ConnectionString");

for (int i=0;i< dataGridView1.Rows.Count;i++)
{
con.DoCommand(new string[] { "Code", "Name", "Tell", "..." },
new object[]{dataGridView1.Rows[i].Cells[0],dataGridView1.Rows[i].Cells[1],
dataGridView1.Rows[i].Cells[2],dataGridView1.Rows[i].Cells[3]}, "YourProceduresName");
}
}
توضیحات :
connect con = new connect("ConnectionString");
یک dll برات ضمیمه می کنم اون رو به رفرنس پروژت اضافه کن و به صورت کد بالا صداش بزن

دقت کن من از procedure (توابع sql) استفاده کردم در صورتی که می خواهی دستورت را مستقیما" بنویسی تبدیلش دست خودت را می بوسه

موفق باشید

sobaisobai
شنبه 23 مهر 1390, 13:35 عصر
for (int i=0;i< dataGridView1.Rows.Count;i++) { con.DoCommand(new string[] { "Code", "Name", "Tell", "..." }, new object[]{dataGridView1.Rows[i].Cells[0],dataGridView1.Rows[i].Cells[1], dataGridView1.Rows[i].Cells[2],dataGridView1.Rows[i].Cells[3]}, "YourProceduresName"); }
این کد چیکار میکنه ؟میشه بیشتر توضیح بدی؟

wolf_majid
شنبه 23 مهر 1390, 13:42 عصر
for (int i=0;i< dataGridView1.Rows.Count;i++)
از سطر صفر دیتا گرید تا آخرین سطر شروع به گردش می کنه

con.DoCommand(new string[] { "Code", "Name", "Tell", "..." },
new object[]{dataGridView1.Rows[i].Cells[0],dataGridView1.Rows[i].Cells[1],
dataGridView1.Rows[i].Cells[2],dataGridView1.Rows[i].Cells[3]}, "YourProceduresName");
doCommand یکی از توابع کلاس connect فایل ضمیمست که کار update و insert و delete رو انجام میده
که به دو صورت نوشتن کد به صورت مستقییم و استفاده از storeProcedure در sql عمل می کنه
ورودی تابع بالا در این حالت یک آرایه رشته شامل ورودی های پروسیجر مورد نظر در اس کیو اله و یک آرایه object شامل فیلدهایی که قراره به این ورودی ها اختصاص داده بشه و فیلد آخر هم نام پروسیجر

sobaisobai
شنبه 23 مهر 1390, 14:02 عصر
سلام مجدد
درست شد
با استفاده از حلقه این کارو کردم که کل دیتا گرید رو ذخیره میکنه
ممنون