PDA

View Full Version : وارد کردن اطلاعات یک دیتا گرید بداخل جدول



ashena29
پنج شنبه 09 شهریور 1385, 16:27 عصر
دوستان گرامی
در سیستم من با توجه به شرایط دیتا گریدی ایجاد می گردد که لازم است این دیتا گرید پس از ویرایش توسط کاربر بداخل بانک اطلاعاتی وارد گردد یعنی در یک جدول جدید
هدف من از این تاپیک این است که چگونه یک دیتا گرید سطر به سطر خوانده شود(یکی از راهها تبدیل به XMLاست) و بداخل بانک اطلاعاتی ریخته شود چنانچه دوستان در این زمینه تجربه ای دارند ممنون می شوم

Behrouz_Rad
پنج شنبه 09 شهریور 1385, 19:19 عصر
با توجه به کاری که میخوای انجام بدی، می تونی از سینتکس دستور SQL ای به شکل زیر استفاده کنی:


INSERT INTO table1(myField) SELECT table2.myField FROM table2


موفق باشید.

nazaninam
پنج شنبه 09 شهریور 1385, 19:25 عصر
دوست عزیز سوال شما واضح نیست
1- می خواهید دیتاگرید رو وارد بانک اطلاعاتی کنید ؟
برای اینکار میتونید از دو روش استفاده کنید : اول اینکه دیتا گرید رو با یک دیتاست مرتبط کنید و توسط یک command builder دیتاست رو جانشین دیتابیس فعلی کنید ( البته جالب نیست )
دوم اینکه داخل یک حلقه for each سطر به سطر دیتاگرید رو بخونید و توسط دستور insert و متد executenonequery اونو وارد بانکتون کنید
1- میخواهید دیتاگرید رو به xml تبدیل کنید ؟
بهترین رها استفاده از xml writer است که به راحتی یک دیتاست رو به xml تبدیل میکنه

در ضمن شما قضیه رو از اول توضیح بدید که آیا اطلاعات از دیتابیس وارد دیتاگرید میشه و سپس تغیر میکنه یا دیتاگرید از ابتدا داخل صفحه ساخته میشه
اگه توضیح بدید راه های خیلی بهتری بهتون پیشنهاد خواهد شد

ashena29
جمعه 10 شهریور 1385, 13:19 عصر
با تشکر ازجواب دوستان عزیز
اطلاعات دیتا گرید نمایش داده شده از بانک اطلاعاتی تغذیه می گرددکه لازم است این دیتا گرید پس از یکسری تغییرات اطلاعات در جدول جدیدی در همان بانک اطلاعاتی وارد گردد
نازنین خانم هدف من همان روش دوم توضیح داده شده در پاسخ جنابعالی می باشد
که من حلقه for eachهم تشکیل داده ام ولی متاسفانه هر کاری می کنم نمی توانم به مقدار یا value سلول دیتا گرید دسترسی داشته باشم حال از شما و استاد گرامی آقای راد خواهش می کنم چنانچه سینتکس دسترسی به سلولهای دیتا گرید را می دانید برای من هم ارسال نمایید
با تشکر مجدد از وقتی که صرف پاسخ به این تاپیک کردید

Behrouz_Rad
شنبه 11 شهریور 1385, 21:49 عصر
زمانی که از عبارت بایندینگ <% #%> استفاده می کنی، باید با استفاده از کلاس DataBoundLiteralControl به محتوای سلول مورد نظر دست پیدا کنی.
به مثال کاملی که در ذیل واست نوشتم دقت کن:


For Each gvRow As GridViewRow In GridView1.Rows
Response.Write(CType(gvRow.Cells(0).Controls(0), DataBoundLiteralControl).Text & "&nbsp;")
Response.Write(CType(gvRow.Cells(1).Controls(0), DataBoundLiteralControl).Text & "<br>")
Next

موفق باشید.

ashena29
یک شنبه 12 شهریور 1385, 00:09 صبح
با وارد کردن کد بالا دائم پیغام زیر را می دهد که با تییر اندیس هم مشکل حل نمی شود

Specified argument was out of the range of valid values. Parameter name: index

Behrouz_Rad
یک شنبه 12 شهریور 1385, 10:12 صبح
عزیزم من که Grid View تو رو ندیدم!
اندیس ها رو دست کاری کن تا به نتیجه برسی!
اون فقط یک مثاله!!!! ممکنه که تو تنها یک ستون داشته باشی یا ستونی داشته باشی که با Binding ایجاد نمیشه یا .....