PDA

View Full Version : سوال: در مورد دیتاگرید



vahidmasoudi1391
سه شنبه 08 اردیبهشت 1394, 10:54 صبح
سلام
آیا می توان دیتا گرید را به صورت گروهی در دیتا بیس ذخیره کرد
با تشکر

محمد آشتیانی
سه شنبه 08 اردیبهشت 1394, 13:21 عصر
سلام
بله با استفاده از SqlBulkCopy امکانپذیره. فقط کافیه محتویات دیتاگرید رو داخل یک DataTable کپی کنید و دیتاتیبل رو با استفاده از SqlBulkCopy در دیتابیس کپی کنید


Dim Bulk As New SqlBulkCopy(ConnectionString)

Using Bulk
Bulk.ColumnMappings.Add(0,0)
Bulk.DestinationTableName = "YourTable"
Bulk.WriteToServer(YourDataTable)
End Using


- ConnectionString بصورت پارامتر باید هنگام تعریف آبجکت Bulk مشخص بشه
- عمل Column Mapping برای مشخص کردن اینه که فیلدهای دیتا تیبل به چه ترتیبی به فیلدهای جدول شما در دیتابیس مرتبط میشن (برای مثال اگر اولین فیلد دیتاتیبل شما باید در سومین فیلد جدول کپی بشه نوشتن این دستور به اینصورت خواهد شد.) ضمنا این دستور برای تمام فیلدها باید مشخص بشه
Bulk.ColumnMappings.Add(0,2)
- YourTable نام جدولی در دیتابیس هست که قصد دارید اطلاعات رو داخلش کپی کنی.
- YourDataTable هم نام دیتاتیبلی هست که با محتویات گریدویو پر کردید.


موفق باشید.