Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,038

HOME > .NET Framework > Forum > รบกวนสอบถามอาจารย์และสมาชิกทุกท่านเรื่องการ Update/Replace Data Access ผ่าน VB.Net


 

[.NET] รบกวนสอบถามอาจารย์และสมาชิกทุกท่านเรื่องการ Update/Replace Data Access ผ่าน VB.Net

 
Topic : 136735



โพสกระทู้ ( 14 )
บทความ ( 0 )



สถานะออฟไลน์



https://www.thaicreate.com/upload/stock/20220706124847.jpg
Code (VB.NET)
001.Imports System.Data.OleDb
002.Imports System.Linq
003.Imports System.Data.SqlClient
004.Imports Microsoft.Office.Core
005.Imports Excel = Microsoft.Office.Interop.Excel
006.Imports ExcelAutoFormat = Microsoft.Office.Interop.Excel.XlRangeAutoFormat
007.Imports Microsoft.Office.Interop
008.Imports System.IO
009.Imports System.Xml.XPath
010.Imports System.Data
011.Imports System.Xml
012. 
013.Public Class Form1
014.    Dim Conn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Application.StartupPath & "\MyData.MDB")
015.    Dim CMD As OleDbCommand
016.    Dim dr As OleDbDataReader
017.    Dim da As OleDbDataAdapter
018.    Dim ds As DataSet
019.    Dim SQL As String
020.    Dim DelByid As String
021.    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
022. 
023.        Me.CenterToScreen()
024.        'Call LoadInfo()
025. 
026.    End Sub
027. 
028.    Sub LoadInfo() 'Load Data Show
029.        SQL = "SELECT * FROM Table1"
030.        CMD = New OleDbCommand(SQL, Conn)
031.        Try
032.            If Conn.State = ConnectionState.Open Then Conn.Close()
033.            Conn.Open()
034. 
035.            dr = CMD.ExecuteReader
036.            DataGridView1.Rows.Clear()
037.            Dim iD As Integer = 1
038.            While dr.Read
039.                DataGridView1.Rows.Add(iD, dr("XX").ToString, dr("YY").ToString)
040.                iD += 1
041. 
042.            End While
043.            Conn.Close()
044.            CMD.Dispose()
045. 
046.        Catch ex As Exception
047.            MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
048. 
049.        End Try
050.    End Sub
051. 
052.    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
053. 
054.        Call LoadInfo()
055. 
056.    End Sub
057. 
058.    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
059. 
060.        Dim iconn As OleDbConnection
061.        Dim idta As OleDbDataAdapter
062.        Dim idts As DataSet
063.        Dim excel As String
064.        Dim OpenFileDialog As New OpenFileDialog
065. 
066.        OpenFileDialog1.FileName = ""
067.        OpenFileDialog1.InitialDirectory = My.Computer.FileSystem.SpecialDirectories.Desktop
068.        OpenFileDialog1.Filter = "All Files (*.*)|*.*|Excel files (*.xlsx)|*.xlsx|CSV Files (*.csv)|*.csv|XLS Files (*.xls)|*xls"
069. 
070.        If (OpenFileDialog1.ShowDialog(Me) = System.Windows.Forms.DialogResult.OK) Then
071.            DataGridView2.Columns.Clear()
072. 
073.            Dim fi As New FileInfo(OpenFileDialog1.FileName)
074.            Dim FileName As String = OpenFileDialog1.FileName
075. 
076.            excel = fi.FullName
077.            iconn = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + excel + ";Extended Properties=Excel 12.0;")
078.            idta = New OleDbDataAdapter("Select * From [Sheet1$]", iconn)
079.            idts = New DataSet
080.            idta.Fill(idts, "[Sheet1$]")
081.            DataGridView2.DataSource = idts
082.            DataGridView2.DataMember = "[Sheet1$]"
083.            iconn.Close()
084.        End If
085. 
086.    End Sub
087. 
088.    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
089.        If DataGridView1.Rows.Count > 0 And DataGridView2.Rows.Count > 0 Then
090.            DataGridView3.Rows.Clear()
091. 
092.            Dim row As Integer = DataGridView1.Rows.Count
093.            For i As Integer = 0 To row - 1
094.                DataGridView3.Rows.Add(DataGridView1.Rows(i).Cells(0).Value, DataGridView1.Rows(i).Cells(1).Value + DataGridView2.Rows(i).Cells(1).Value, DataGridView1.Rows(i).Cells(2).Value + DataGridView2.Rows(i).Cells(2).Value)
095. 
096.            Next
097.        End If
098. 
099. 
100.    End Sub
101. 
102.    Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
103.        If DataGridView3.Rows.Count = 0 Then
104.            Exit Sub
105.        Else
106.            Call SaveToData()
107.        End If
108.    End Sub
109. 
110.    Sub SaveToData()
111. 
112.        Try
113.            If Conn.State = ConnectionState.Open Then Conn.Close()
114.            Conn.Open()
115. 
116.            Dim i As Integer = 0
117.            For Each row As DataGridViewRow In DataGridView3.Rows
118.                If Not row.IsNewRow Then
119.                    SQL = "SELECT * FROM Table1"
120.                    CMD = New OleDbCommand(SQL, Conn)
121. 
122.                    'CMD.CommandText = "UPDATE Table1 SET XX='" & DataGridView3.Rows(i).Cells(1).Value & "',YY='" & DataGridView3.Rows(i).Cells(2).Value
123.                    'Error Syntax error in string in query expression
124.                    CMD.CommandText = "UPDATE Table1 SET XX=" & DataGridView3.Rows(i).Cells(1).Value & ",YY=" & DataGridView3.Rows(i).Cells(2).Value
125.                    CMD.ExecuteNonQuery()
126. 
127.                End If
128.            Next
129. 
130.            Conn.Close()
131.            CMD.Dispose()
132.            MessageBox.Show("Save All Data", "!!!", MessageBoxButtons.OK, MessageBoxIcon.Information)
133. 
134.        Catch ex As Exception
135.            MessageBox.Show(ex.Message, "!!!", MessageBoxButtons.OK, MessageBoxIcon.Error)
136. 
137.        End Try
138. 
139.    End Sub
140. 
141.End Class


จากภาพ ฐานข้อมูลมี 2 คอลัม 10 แถว ต้องการบันทึกข้อมูล จากตารางที่ 3 ลงฐานข้อมูล หากใช้คำสั่ง UPDATE ตามโค๊ดจะเป็นการเขียนข้อมูลทุกระเบียนเป็น ID ที่ 10 ค่า XX 624 YY 612 เพราะไม่มี Where ID

รบกวนสอบถามอาจารย์และเพื่อนสมาชิกหากต้องการให้ฐานข้อมูลอัพเดทตามตารางที่ 3 ต้อง ใช้คำสั่งอย่างไรในการเขียนโค๊ด UPDATE/Relace ข้อมูล ครับผม ขอคำแนะนำด้วยครับ ปล.ขอเป็นโค๊ดเลยยิ่งดีครับผม



Tag : .NET, Ms Access, Win (Windows App), VB.NET, Windows



ประวัติการแก้ไข
2022-07-06 13:03:28
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2022-07-06 13:01:58 By : tawitsittanong View : 623 Reply : 9
 

 

No. 1



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

แทนการใช้

Code (VB.NET)
1.For Each row As DataGridViewRow In DataGridView3.Rows


ที่จะเช็คแค่ DataGridView3 ลองเปลี่ยนไปใช้

Code (VB.NET)
1.For i As Integer = 0 To DataGridView3.Rows.Count - 1
2.   
3.'จัดการทั้ง 3 DataGridView ในแถวเดียวกัน
4.'จะ บวก ลบ แล้ว ค่อย ไปบันทึกลง DataGridView3 ก็ได้ ขอแค่อยู่ใน ID เดียวกัน
5. 
6. Next

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2022-07-06 21:29:47 By : lamaka.tor
 

 

No. 2



โพสกระทู้ ( 14 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 1 เขียนโดย : lamaka.tor เมื่อวันที่ 2022-07-06 21:29:47
รายละเอียดของการตอบ ::
Code (VB.NET)
01.Sub SaveToData()
02. 
03.    If Conn.State = ConnectionState.Open Then Conn.Close()
04.    Conn.Open()
05. 
06.    For i As Integer = 0 To DataGridView3.Rows.Count - 1
07. 
08.        SQL = "SELECT * FROM Table1"
09.        CMD = New OleDbCommand(SQL, Conn)
10. 
11.        CMD.CommandText = "UPDATE Table1 SET XX=" & DataGridView3.Rows(i).Cells(1).Value & ",YY=" & DataGridView3.Rows(i).Cells(2).Value
12.        CMD.ExecuteNonQuery()
13. 
14.    Next
15.    Conn.Close()
16.    CMD.Dispose()
17.    MessageBox.Show("Save All Data", "!!!", MessageBoxButtons.OK, MessageBoxIcon.Information)
18. 
19.End Sub


ลองเปลี่ยนโค๊ดแล้วครับ ผลลัพธ์ หากใช้คำสั่ง UPDATE ตามโค๊ดจะเป็นการเขียนข้อมูลทุกระเบียนเป็น ID ที่ 10 ค่า XX 624 YY 612 เพราะไม่มี Where ID ครับผม ผลลัพธ์ยังเหมือนเดิมนะครับผม
https://www.thaicreate.com/upload/stock/20220706124847.jpg


ประวัติการแก้ไข
2022-07-07 19:49:59
2022-07-07 19:50:47
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2022-07-07 19:48:32 By : tawitsittanong
 

 

No. 3



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

จากรูป ต้องเอา DataGridView1 + DataGridView2 ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2022-07-07 21:21:24 By : lamaka.tor
 

 

No. 4



โพสกระทู้ ( 14 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 3 เขียนโดย : lamaka.tor เมื่อวันที่ 2022-07-07 21:21:24
รายละเอียดของการตอบ ::
ใช่ครับผม ดาต้ากิต 1 ดึงข้อมูลจาก Access ดาต้ากิต 2 อิมพอร์ตข้อมูลจาก Excel นำมาบวกกัน แล้วแสดงข้อมูลใน ดาต้ากิต 3 แล้วกดบันทึกข้อมูลลง ฐานข้อมูล Access ครับผม

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2022-07-07 23:17:32 By : tawitsittanong
 

 

No. 5



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

ตอบความคิดเห็นที่ : 4 เขียนโดย : tawitsittanong เมื่อวันที่ 2022-07-07 23:17:32
รายละเอียดของการตอบ ::
งั้นก็เขียนโค้ดตามนั้น ได้เลย ครับ
หากยังงงอยู่ ลองทำ remark หรือ comment ลำดับขั้น

'1. ขั้นตอนที่ 1 ทำอะไรบ้าง
โค้ด......
'2. ขั้นตอนที่ 2 ทำอะไรบ้าง
โค้ด......
'3. ขั้นตอนที่ 3 ทำอะไรบ้าง
โค้ด......
'4. ขั้นตอนที่ 4 ทำอะไรบ้าง
โค้ด......

การเขียนคำอธิบาย จะทำให้เรา รู้ว่า เราเขียนโค้ดครบไปแค่ไหนแล้ว ขาดจุดไหน บ้าง
ยิ่งเขียนละเอียด เราจะยิ่งมองภาพชัดเจนขึ้นในการเขียนโค้ด ครับ

อย่างในโค้ด ถ้าเราเขียนอธิบายชัดเจน
เราจะไม่งง ครับ

Code (VB.NET)
01.Sub SaveToData()
02. 
03.    If Conn.State = ConnectionState.Open Then Conn.Close()
04.    Conn.Open()
05. 
06.    For i As Integer = 0 To DataGridView3.Rows.Count - 1
07. 
08.        SQL = "SELECT * FROM Table1"
09.        CMD = New OleDbCommand(SQL, Conn)
10. 
11.      'XX = DataGridView1.Rows(i).Cells(1).Value + DataGridView2.Rows(i).Cells(1).Value
12.      'YY = DataGridView1.Rows(i).Cells(2).Value + DataGridView2.Rows(i).Cells(2).Value
13. 
14.      'โค้ด ...........................................................
15. 
16.    Next
17.    Conn.Close()
18.    CMD.Dispose()
19.    MessageBox.Show("Save All Data", "!!!", MessageBoxButtons.OK, MessageBoxIcon.Information)
20. 
21.End Sub



แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2022-07-08 08:08:09 By : lamaka.tor
 

 

No. 6



โพสกระทู้ ( 14 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 5 เขียนโดย : lamaka.tor เมื่อวันที่ 2022-07-08 08:08:09
รายละเอียดของการตอบ ::
Sub SaveToData()

If Conn.State = ConnectionState.Open Then Conn.Close()
Conn.Open()
DataGridView3.Rows.Clear()

Dim XX As Integer = 0
Dim YY As Integer = 0

For i As Integer = 0 To DataGridView1.Rows.Count - 1
SQL = "SELECT * FROM Table1"
CMD = New OleDbCommand(SQL, Conn)

'ทำการรวมข้อมูล DataGridView1 + DataGridView2
'โดยกำหนดให้ค่า XX คือการคำนวณ ค่าคอลัมที่ 2
'โดยกำหนดให้ค่า YY คือการคำนวณ ค่าคอลัมที่ 3
XX = DataGridView1.Rows(i).Cells(1).Value + DataGridView2.Rows(i).Cells(1).Value
YY = DataGridView1.Rows(i).Cells(2).Value + DataGridView2.Rows(i).Cells(2).Value
'หลังจากคำนวณค่า XX,YY แล้วให้แสดงผลที่ DataGridView 3
'โดยแสดงค่าคอลัมที่ 1 (ID) ตาม DataGridView 1 ตามด้วยค่า XX และ YY
DataGridView3.Rows.Add(DataGridView1.Rows(i).Cells(0).Value, XX.ToString, YY.ToString)

'แล้วทำการบันทึกลงฐานข้อมูล MyData.mdb ด้วยคำสั่ง UPDATE
CMD.CommandText = "UPDATE Table1 SET XX=" & DataGridView3.Rows(i).Cells(1).Value & ",YY=" & DataGridView3.Rows(i).Cells(2).Value
CMD.ExecuteNonQuery()

Next

Conn.Close()
CMD.Dispose()
MessageBox.Show("Save All Data", "!!!", MessageBoxButtons.OK, MessageBoxIcon.Information)

End Sub


หลังจากอัพเดทโค๊ด ยังไม่มาสารถบันทึก ข้อมูลทั้งหมดใน DataGridView 3 ลงฐานข้อมูลได้ครบทั้งหมด น่ะครับผม


ประวัติการแก้ไข
2022-07-08 19:08:24
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2022-07-08 17:40:53 By : tawitsittanong
 

 
ตัวอย่างและวิธีการที่ใช้งาน มันมาก่อนเทคโนโลยีใหม่ฯ พึ่งจะมา เช่น
- Dart/Flutter
- React Native
- .NET MAUI
- etc...

เทคโนโลยี Single CodeBase เขียนครั้งเดียววิ่งได้ทุกฯอุปกรณ์ เช่น Mobile/Web/Windows/etc..
เล่าให้ฟังเฉยฯ ดาด้าเบส Access มันมาก่อน SQlite (PLC)...
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2022-07-08 20:29:28 By : ผ่านมา
 

 

No. 8



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

โอ๊ววววววววววววววว

ว่าแล้วทำไม่ถึงไม่ไม่ได้ซัก ที ต้องขอโทษ อย่างแรงครับ
ผมบอกผิดเอง ผมคิดแต่ว่าจะนำข้อมูลจาก DataGridView1+DataGridView2 แล้วบันทึก โดยลืมคิดไปว่า
จริงๆแล้ว ข้อมูลมันมีใน DataGridView3 แล้ว


งั้นเริ่มใหม่นะครับ

เราสามารถตัดส่วนนี้ออกไปได้เลย ครับ เพราะมีข้อมูลแล้ว

Code (VB.NET)
1.'ทำการรวมข้อมูล DataGridView1 + DataGridView2
2.'โดยกำหนดให้ค่า XX คือการคำนวณ ค่าคอลัมที่ 2
3.'โดยกำหนดให้ค่า YY คือการคำนวณ ค่าคอลัมที่ 3
4.XX = DataGridView1.Rows(i).Cells(1).Value + DataGridView2.Rows(i).Cells(1).Value
5.YY = DataGridView1.Rows(i).Cells(2).Value + DataGridView2.Rows(i).Cells(2).Value
6.'หลังจากคำนวณค่า XX,YY แล้วให้แสดงผลที่ DataGridView 3
7.'โดยแสดงค่าคอลัมที่ 1 (ID) ตาม DataGridView 1 ตามด้วยค่า XX และ YY
8.DataGridView3.Rows.Add(DataGridView1.Rows(i).Cells(0).Value, XX.ToString, YY.ToString)


แต่ให้เพิ่มการเช็คข้อมูลก่อนการบันทึก


Code (VB.NET)
01.Sub SaveToData()
02. 
03.If Conn.State = ConnectionState.Open Then Conn.Close()
04.Conn.Open()
05.DataGridView3.Rows.Clear()
06. 
07.Dim XX As Integer = 0
08.Dim YY As Integer = 0
09. 
10.For i As Integer = 0 To DataGridView1.Rows.Count - 1
11.SQL = "SELECT * FROM Table1"
12.CMD = New OleDbCommand(SQL, Conn)
13. 
14.'เช็คข้อมูลก่อนว่ามีไม๊ โดย select มาดู
15. 
16.'ถ้าไม่มี ให้ Insert ข้อมูล ถ้ามี ให้ update
17. 
18.'รัน ExecuteNonQuery
19.CMD.ExecuteNonQuery()
20. 
21.Next
22. 
23.Conn.Close()
24.CMD.Dispose()
25.MessageBox.Show("Save All Data", "!!!", MessageBoxButtons.OK, MessageBoxIcon.Information)
26. 
27.'ในกรณีที่ ข้อมูลใน MyData.mdb  มีจำนวนคงที่ ไม่จำเป็นต้องเช็ค แต่หาก สามารถเพิ่มข้อมูลได้ จำเป็ยนต้องเช็ค เพื่อ Insert/Update
28.End Sub


https://www.thaicreate.com/tutorial/sql-update.html

ต้องขอโทษด้วยครับที่ทำให้เสียเวลาไปปล่าวๆ
จริงๆมีข้อมูลแล้ว ก็สามารถ เช็ค และ Insert/Update ได้เลย ครับ
แต่หากมีข้อมูลคงที่ เช่น มันจะมี 10 ข้อมูลไปตลอด ไม่มีเพิ่ม แบบนั้น ไม่ต้องเช็คเพราะยังไงก็ต้องมีข้อมูลอยู่แล้ว
แต่เขียนให้เช็คดีกว่า โค้ดจะได้ยืดหยุ่น ครับ


หาเหล้ากินต่อดีก่าาาาาาา
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2022-07-09 08:09:20 By : lamaka.tor
 

 

No. 9



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

เป็นผมจะใช้ datawizard ครับ
เราไม่ต้องมานั่งเขียนโค้ด sql นี้เอง
เพียงแค่ดูเรื่อง control ก็เพียงพอ

ลากวางๆๆๆ
จากนั้นก็สามารถใช้ for loop เพื่อ จัดการค่าใน DataGridView3 ได้เลย

โค้ดในส่วนของ sql ต่างๆ datawizard จะจัดการให้เราเอง
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2022-07-09 08:38:56 By : lamaka.tor
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : รบกวนสอบถามอาจารย์และสมาชิกทุกท่านเรื่องการ Update/Replace Data Access ผ่าน VB.Net
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)





ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2025 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่