 |
|
รบกวนด้ยครับ ต้องการเพิ่มข้อมูลจาก textbox combobox ลง sql server ครั้งเดียวหลายเรคคอร์ดครับ |
|
 |
|
|
 |
 |
|


|
 |
 |
 |
 |
Date :
2015-02-20 02:14:10 |
By :
kwangnaaa |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขออภัยด้วยครับ มือใหม่โพสผิดๆถูกๆ


|
 |
 |
 |
 |
Date :
2015-02-20 02:17:55 |
By :
kwangnaaa |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ปกติเห็นเขาใช้ SQL BULK INSERT หรือไม่ก็ for loop
แต่นี่เป็น datagrid ไม่แน่ใจว่า BULK INSERT จะเหมาะป่าว
เพราะเวลา save data มันไม่ได้มีแค่การ Insert อย่างเดียว ใน 1 datagrid
การกด save data 1 ครั้ง นั่นหมายถึงเรามีทั้ง การ Insert Update Delete data ในครั้งเดียว
ในความคิดส่วนตัวผมตัวที่จะเหมาะที่จะใช้งาน คือ datasources
https://www.thaicreate.com/dotnet/dotnet-datagridview-combobox-listbox-windows-form.html
|
 |
 |
 |
 |
Date :
2015-02-20 09:01:10 |
By :
lamaka.tor |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
อยากได้ตัวอย่างหรือแนวทาง for loop ครับ ตาม code ของผม ต้องเอา for loop ไปวางตรงไหนยังไงครับ
อย่าว่างั้นงี้เลยครับ ผมแทบไม่มีพื้นฐานอะไรเลย ที่ทำๆอยู่นี่ก็ไม่เข้าใจหรอกครับ
แต่ไม่มีทางเลือกไม่อยากจ้างเขาทำโปรเจค เลยต้องดิ้นรน แกะๆแงะๆ เอาตามยูทูป และในเว็บนี่ล่ะครับ
รูปแบบประโยคหรือความเข้าใจในการเขียนแทบไม่มีครับ
ยังไงรบกวนชี้แนะผมด้วยนะครับ
|
 |
 |
 |
 |
Date :
2015-02-20 10:13:58 |
By :
kwangnaaa |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ตอบความคิดเห็นที่ : 4 เขียนโดย : kwangnaaa เมื่อวันที่ 2015-02-20 10:13:58
รายละเอียดของการตอบ ::
ลองทำความเข้าใจดูครับ เลียนแบบตามที่คุณอธิบาย
Code (VB.NET)
Imports System.Data.SqlClient
Public Class Form1
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
End Sub
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
'เพิ่มข้อมูลลงไปทีเดียวหลายเรคคอร์ด รูปแบบคำสั่งจะเป็นดังนี้
'INSERT INTO yourTable VALUES (row1col1, row1col2), (row2col1, row2col2), (row3col1, row3col2), (row4col1, row2col2)
'สมมุติมี 4 เรคคอร์ด และมี 2 คอลัมภ์
Dim strValues As String = ""
For i As Integer = 0 To 3 ' Array Zero base.
strValues &= "'StringValue'" & "12.00" & If(i < 3, ", ", "")
Next
Using cn As New SqlConnection("Data Source=YourPCName;Initial Catalog=YourDatabaseName;User ID=sa;Password=1234")
cn.Open()
Using ts As SqlTransaction = cn.BeginTransaction()
Try
Using cmd As New SqlCommand("INSERT INTO YourTableName VALUES (" & strValues & ")", cn)
cmd.Transaction = ts
cmd.ExecuteNonQuery()
ts.Commit()
End Using
Catch ex As Exception
ts.Rollback()
End Try
End Using
End Using
End Sub
End Class
ปล. ทางเดินเส้นนี้ (คอมพิวเตอร์) มันไม่ได้โรยด้วยกลีบดอกกุหลาบ (ดูเวลาที่ผมโพสตอบคุณเป็นตัวอย่างครับ)
|
 |
 |
 |
 |
Date :
2015-02-21 03:12:38 |
By :
หน้าฮี |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
แก้ไข #NO 5
Code (VB.NET)
Imports System.Data.SqlClient
Public Class Form1
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
End Sub
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
'เพิ่มข้อมูลลงไปทีเดียวหลายเรคคอร์ด รูปแบบคำสั่งจะเป็นดังนี้
'INSERT INTO yourTable VALUES (row1col1, row1col2), (row2col1, row2col2), (row3col1, row3col2), (row4col1, row2col2)
'สมมุติมี 4 เรคคอร์ด
Dim strValues As String = ""
For i As Integer = 0 To 3 ' Array Zero base.
strValues &= "(" & "'StringValue'" & "12.00" & If(i < 3, "), ", ")")
Next
Using cn As New SqlConnection("Data Source=YourPCName;Initial Catalog=YourDatabaseName;User ID=sa;Password=1234")
cn.Open()
Using ts As SqlTransaction = cn.BeginTransaction()
Try
Using cmd As New SqlCommand("INSERT INTO YourTableName VALUES " & strValues, cn)
cmd.Transaction = ts
cmd.ExecuteNonQuery()
ts.Commit()
End Using
Catch ex As Exception
ts.Rollback()
End Try
End Using
End Using
End Sub
End Class
ปล. จาก #NO 4 เดี๋ยวผมต้องขับรถไปทำธุระต่าง จังหวัด ปราจีนบุรี/สระแก้ว
ปล ที่ไม่ใช่ ปล ความสุข
|
 |
 |
 |
 |
Date :
2015-02-21 06:20:08 |
By :
หน้าฮี |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
พอดีเพิ่งมาอ่านใหม่ก็เลย งงๆๆๆ
ทำไมไม่ใช้ DataGridViewComboBoxColumn ละครับ

งานจะออกมาสวยกว่า และ user ใช้งานง่ายด้วยครับ
|
 |
 |
 |
 |
Date :
2015-02-21 09:07:10 |
By :
lamaka.tor |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขอบพระคุณทุกท่านที่มาตอบครับ เป็นพระคุณยิ่ง ที่ไม่ใช้ DataGridViewComboBoxColumn
เพราะทำไม่เป็น แหะๆ
|
 |
 |
 |
 |
Date :
2015-02-21 15:47:51 |
By :
kwangnaaa |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|

|
 |
 |
 |
 |
Date :
2015-02-22 10:07:55 |
By :
mr.win |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขอบคุณครับ
|
 |
 |
 |
 |
Date :
2015-02-22 13:41:13 |
By :
kwangnaaa |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
นิทานเรื่องนี้สอนให้รู้ว่า น้ำน้อยย่อมแพ้ไฟ 555
   
|
 |
 |
 |
 |
Date :
2015-02-23 09:22:52 |
By :
lamaka.tor |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|