PDA

View Full Version : سوال: اضافه کردن مقادیر یک دیتاتیبل مستقیم در بانک SQL



mahmood744
شنبه 26 مهر 1393, 16:51 عصر
سلام به همه دوستان
من یک تعداد کالا در تیبل kala1 دارم و طبق Select زیر آنها را به یک DateTable انتقال دادم
حالا می خواهم مقداربعضی از فیلید ها را عوض کنم
و نتیجه را در یک تیبل دیگه مثلا Kala2 به صورت یک جا اضافه کنم
تعداد فیلید های و نوعشان در هر دو تیبل یکی هستند

Dim CmdSQL As New SqlClient.SqlCommand
Dim Dt As New DataTable


CmdSQL.CommandText = "select * from kala1 where ID = @ID"
CmdSQL.Parameters.Clear()
CmdSQL.Parameters.Add(New SqlParameter("@ID", SqlDbType.BigInt)).Value = 101
Dt = Read_TabelSQL(CmdSQL)
Dt.Rows(0)("code_shobeh") = "5001"
چطوری Dt را مستقیما در tabel Kala2 اضافه کنم

با تشکر از کمکتان

parvizwpf
شنبه 26 مهر 1393, 17:49 عصر
اونها رو مساوی هم قرا بدید شاید جواب یده و کپی شه یا اینکه با فور یکی یکی ببرید تو اون یکی اد کنید.

mahmood744
شنبه 26 مهر 1393, 17:59 عصر
دوست عزیز می خواهم یک DataTabel را مستقیما داخل یک Tabel ذخیره کنم

parvizwpf
شنبه 26 مهر 1393, 18:10 عصر
منم همینو گفتم دیگه:
http://stackoverflow.com/questions/15779475/insert-datatable-in-to-sql-table

mahmood744
شنبه 26 مهر 1393, 19:11 عصر
یعنی با حلقه یک فرمان SQL بسازم (برای هر فیلد مجزا ) و بعد اجرا کنم
فکر خوبیه :تشویق:
اما متاسفانه من تعداد فیلد هام زیاده و تعداد فیلدها متفاوته و نمیشه از این راه استفاده کرد
ممنون از راهنمایتون

mahmood744
یک شنبه 27 مهر 1393, 16:45 عصر
سلام به همه دوستان
این راه حل را من پیدا کردم
انشالله بدرد شما هم بخوری


Public Function BulkInsertDataTable(ByVal TableName_Destination As String, ByVal DataTable1 As DataTable) As Boolean
Dim isSuccuss As Boolean
Try
Dim bulkCopy As SqlBulkCopy = New SqlBulkCopy(ConnSQL)
bulkCopy.DestinationTableName = TableName_Destination
bulkCopy.WriteToServer(DataTable1)
isSuccuss = True
Catch ex As Exception
isSuccuss = False
MsgBox3D(Err.Description + vbCr + Err.Number.ToString, MsgBoxStyle.OkOnly + MsgBoxStyle.Critical)
End Try
Return isSuccuss
End Function