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,027

HOME > .NET Framework > Forum > VB.Net Save ข้อมูลจาก DataTable ลง Sql Server แนะนำด้วยครับ



 

VB.Net Save ข้อมูลจาก DataTable ลง Sql Server แนะนำด้วยครับ

 



Topic : 126297



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



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




จะ Add ค่าลง DataTable ก่อน เมื่อ Add ค่าตามที่ต้องการแล้วจะ Save ลง DB

รูป

Code (VB.NET)
Imports System.Data.SqlClient

Public Class Manage_Package
    Inherits System.Web.UI.Page

    Dim objConn As SqlConnection
    Dim objCmd As SqlCommand
    Dim strConnString As String
    Dim dt As DataTable

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        If IsPostBack Then
            LoadSizeData()
        End If

    End Sub

    Public Sub ConnectDB()

        strConnString = ConfigurationManager.ConnectionStrings("con").ConnectionString
        objConn = New SqlConnection(strConnString)

    End Sub

    Private Sub LoadSizeData()

        If IsNothing(Session("SizeTable")) Then
            dt = New DataTable()
            dt.Columns.Add(New DataColumn("TopWidth", GetType(String)))
            dt.Columns.Add(New DataColumn("MidWidth", GetType(String)))
            dt.Columns.Add(New DataColumn("BottomWidth", GetType(String)))
            dt.Columns.Add(New DataColumn("WidthAVG", GetType(String)))
            dt.Columns.Add(New DataColumn("LeftLength", GetType(String)))
            dt.Columns.Add(New DataColumn("RigthLength", GetType(String)))
            dt.Columns.Add(New DataColumn("LengthAVG", GetType(String)))
            Session("SizeTable") = dt
        End If

        dt = DirectCast(Session("SizeTable"), DataTable)
        gvST_LoadSizeTest.DataSource = dt
        gvST_LoadSizeTest.DataBind()

    End Sub

    Private Sub AddToTable()

        Dim dr As DataRow = dt.NewRow

        dr("TopWidth") = txtPK_WidthTop.Text.Trim
        dr("MidWidth") = txtPK_WidthMid.Text.Trim
        dr("BottomWidth") = txtPK_WidthBottom.Text.Trim
        dr("WidthAVG") = ((CType(txtPK_WidthTop.Text.Trim, Decimal) + CType(txtPK_WidthMid.Text.Trim, Decimal) + CType(txtPK_WidthBottom.Text.Trim, Decimal)) / 3).ToString("n2")
        dr("LeftLength") = txtPK_LengthLeft.Text.Trim
        dr("RigthLength") = txtPK_LengthRigth.Text.Trim
        dr("LengthAVG") = ((CType(txtPK_LengthLeft.Text.Trim, Decimal) + CType(txtPK_LengthRigth.Text.Trim, Decimal)) / 2).ToString("n2")

        dt.Rows.Add(dr)
        Session("SizeTable") = dt
        LoadSizeData()
        Reset()

    End Sub

    Private Sub Reset()

        txtPK_WidthTop.Text = String.Empty
        txtPK_WidthMid.Text = String.Empty
        txtPK_WidthBottom.Text = String.Empty
        txtPK_LengthLeft.Text = String.Empty
        txtPK_LengthRigth.Text = String.Empty

    End Sub

    Private Sub ResetAll()

        Reset()
        Response.Redirect("~/Manage_Package.aspx")

    End Sub



    Protected Sub btnPK_AddTo_Click(sender As Object, e As EventArgs) Handles btnPK_AddTo.Click

        AddToTable()

    End Sub

    Protected Sub btnPK_Cancel_Click(sender As Object, e As EventArgs) Handles btnPK_Cancel.Click

        ResetAll()

    End Sub

End Class




Tag : .NET, Ms SQL Server 2008, Web (ASP.NET), VB.NET, VS 2012 (.NET 4.x)









ประวัติการแก้ไข
2017-02-07 16:25:49
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2017-02-07 16:25:14 By : NUTKA View : 3894 Reply : 9
 

 

No. 1



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



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


ติดตรงไหนเหรอครับ
ถ้าเป็นตอนบันทึกก็วนลูปใน datatable แล้วบันทึกได้เลยครับ

for each dr as datarow in dt.row
....
next






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-02-08 07:54:52 By : fonfire
 


 

No. 2



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



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


ตอบความคิดเห็นที่ : 1 เขียนโดย : fonfire เมื่อวันที่ 2017-02-08 07:54:52
รายละเอียดของการตอบ ::
เขียน Code ให้ดูได้หรือเปล่าครับ ผมไม่เคยทำมาก่อน จะเก็บไว้เป็นความรู้ครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-02-08 08:31:44 By : NUTKA
 

 

No. 3



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



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


ผิดตรงไหนครับ

ต้องแก้อะไรครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-02-08 10:09:12 By : NUTKA
 


 

No. 4



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



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


ผมก๊อปโค้ดมาจากด้านบนน่ะครับ
ไม่ได้เทสน่ะครับ พิมพ์ใหม่เลย
เอาไปเติม ๆ เอาน่ะครับ


Code (VB.NET)
dt = DirectCast(Session("SizeTable"), DataTable)
strSql="Insert into TableName(F1,F2,F3,F4)  Values(@f1,@f2,@f3,@f4) "
objConn.Open
objCmd= New Sqlcommand(strSql,objConn)
For Each dr As Datarow in dt.Rows
	with objCmd
	    คำสั่งเพิ่ม parameter T_T
	End with
	objCmd.ExecuteNonQuery
	objCmd.Parameters.Clear
Next

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-02-08 10:18:11 By : fonfire
 


 

No. 5



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

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

ตัวอย่างการ Loop เพือ่ Insert ครับ

Code (VB.NET)
        objConn.ConnectionString = strConnString
        objConn.Open()

        '*** Insert to orders ***'
        strSQL = "INSERT INTO orders (OrderDate,Name,Address,Tel,Email) " & _
        " VALUES " & _
        " (@sOrderDate,@sName,@sAddress,@sTel,@sEmail)"

        Dim objCmd As New SqlCommand(strSQL, objConn)
        objCmd.Parameters.Add("@sOrderDate", SqlType.Date).Value = Now()
        objCmd.Parameters.Add("@sName", SqlType.VarChar).Value = Me.txtName.Text
        objCmd.Parameters.Add("@sAddress", SqlType.VarChar).Value = Me.txtAddress.Text
        objCmd.Parameters.Add("@sTel", SqlType.VarChar).Value = Me.txtTel.Text
        objCmd.Parameters.Add("@sEmail", SqlType.VarChar).Value = Me.txtEmail.Text
        objCmd.ExecuteNonQuery()


        '*** Insert to orders_detail ***'
        dt2 = DirectCast(Session("myCart"), DataTable)
        For i = 0 To dt2.Rows.Count - 1
            strSQL = "INSERT INTO orders_detail (OrderID,ProductID,Qty) " & _
            " VALUES " & _
            " ('" & strOrderID & "','" & dt2.Rows(i)("ProductID") & "','" & dt2.Rows(i)("Qty") & "')"
            With objCmd
                .Connection = objConn
                .CommandText = strSQL
                .CommandType = CommandType.Text
                .ExecuteNonQuery()
            End With
        Next

        objConn.Close()
        objConn = Nothing

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-02-08 10:24:04 By : mr.win
 


 

No. 6



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



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


Code นี้ Error : {"Column 'S_WIDTHTOP' does not belong to table ."} แบบนี้ครับ

Package table

Package

Size table

Size

Code (VB.NET)
Imports System.Data.SqlClient
Imports System.Globalization

Public Class Manage_Package
    Inherits System.Web.UI.Page

    Dim objConn As SqlConnection
    Dim objCmd As SqlCommand
    Dim strConnString, strSQL As String
    Dim dtAdapter As SqlDataAdapter
    Dim ds As DataSet
    Dim dt As DataTable
    Dim result As Integer
    Dim TopWidth As Decimal

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        If IsPostBack Then
            LoadSizeData()
        End If

        lblPK_AddReceiveDate.Text = Format(Now.Date.ToString("dd/MM/yyyy", New CultureInfo("en-US")))

    End Sub

    Public Sub ConnectDB()

        strConnString = ConfigurationManager.ConnectionStrings("con").ConnectionString
        objConn = New SqlConnection(strConnString)

    End Sub

    Private Sub LoadSizeData()

        If IsNothing(Session("SizeTable")) Then
            dt = New DataTable()
            dt.Columns.Add(New DataColumn("TopWidth", GetType(String)))
            dt.Columns.Add(New DataColumn("MidWidth", GetType(String)))
            dt.Columns.Add(New DataColumn("BottomWidth", GetType(String)))
            dt.Columns.Add(New DataColumn("WidthAVG", GetType(String)))
            dt.Columns.Add(New DataColumn("LeftLength", GetType(String)))
            dt.Columns.Add(New DataColumn("RigthLength", GetType(String)))
            dt.Columns.Add(New DataColumn("LengthAVG", GetType(String)))
            Session("SizeTable") = dt
        End If

        dt = DirectCast(Session("SizeTable"), DataTable)
        gvS_LoadSize.DataSource = dt
        gvS_LoadSize.DataBind()

    End Sub

    Private Sub AddToTable()

        Dim dr As DataRow = dt.NewRow
        dr("TopWidth") = txtPK_WidthTop.Text.Trim
        dr("MidWidth") = txtPK_WidthMid.Text.Trim
        dr("BottomWidth") = txtPK_WidthBottom.Text.Trim
        dr("WidthAVG") = ((CType(txtPK_WidthTop.Text.Trim, Decimal) + CType(txtPK_WidthMid.Text.Trim, Decimal) + CType(txtPK_WidthBottom.Text.Trim, Decimal)) / 3).ToString("n2")
        dr("LeftLength") = txtPK_LengthLeft.Text.Trim
        dr("RigthLength") = txtPK_LengthRigth.Text.Trim
        dr("LengthAVG") = ((CType(txtPK_LengthLeft.Text.Trim, Decimal) + CType(txtPK_LengthRigth.Text.Trim, Decimal)) / 2).ToString("n2")

        dt.Rows.Add(dr)
        Session("SizeTable") = dt
        LoadSizeData()
        Reset()

    End Sub

    Private Sub AddToDB()

        ConnectDB()
        objConn.Open()

        strSQL = "INSERT INTO Package (PK_RECEIVEDATE) " &
                    " VALUES " &
                    " (@PK_RECEIVEDATE)"
        Dim objCmd As New SqlCommand(strSQL, objConn)

        objCmd.Parameters.Add("@PK_RECEIVEDATE", SqlDbType.Date).Value = Format(Now.Date.ToString("dd-MM-yyyy", New CultureInfo("en-US")))
        objCmd.ExecuteNonQuery()


        dt = DirectCast(Session("SizeTable"), DataTable)
        For i = 0 To dt.Rows.Count - 1
            strSQL = "INSERT INTO Size (S_WIDTHTOP,S_WIDTHMID,S_WIDTHBOTTOM,S_LENGTHLEFT,S_LENGTHRIGTH) " &
                        " VALUES " &
                        " ('" & dt.Rows(i)("S_WIDTHTOP") & "','" & dt.Rows(i)("S_WIDTHMID") & "','" & dt.Rows(i)("S_WIDTHBOTTOM") & "','" & dt.Rows(i)("S_LENGTHLEFT") & "','" & dt.Rows(i)("S_LENGTHRIGTH") & "')"
            With objCmd
                .Connection = objConn
                .CommandText = strSQL
                .CommandType = CommandType.Text
                .ExecuteNonQuery()
            End With
        Next

        objConn.Close()
        objConn = Nothing

    End Sub

    Private Sub Reset()

        txtPK_WidthTop.Text = String.Empty
        txtPK_WidthMid.Text = String.Empty
        txtPK_WidthBottom.Text = String.Empty
        txtPK_LengthLeft.Text = String.Empty
        txtPK_LengthRigth.Text = String.Empty

    End Sub

    Private Sub ResetAll()

        Reset()
        Response.Redirect("~/Manage_Package.aspx")

    End Sub



    Protected Sub btnPK_AddTo_Click(sender As Object, e As EventArgs) Handles btnPK_AddTo.Click

        AddToTable()

    End Sub

    Protected Sub btnPK_Cancel_Click(sender As Object, e As EventArgs) Handles btnPK_Cancel.Click

        ResetAll()

    End Sub

    Protected Sub btnPK_Save_Click(sender As Object, e As EventArgs) Handles btnPK_Save.Click

        AddToDB()

    End Sub

End Class



ประวัติการแก้ไข
2017-02-08 11:29:47
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-02-08 11:26:15 By : NUTKA
 


 

No. 7



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



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


ชื่อฟิลด์ตรงนี้

Code (VB.NET)
dt.Rows(i)("S_WIDTHTOP")

ต้องตรงกับที่เราตั้งไว้ครับ
If IsNothing(Session("SizeTable")) Then
dt = New DataTable()
dt.Columns.Add(New DataColumn("TopWidth", GetType(String)))
dt.Columns.Add(New DataColumn("MidWidth", GetType(String)))
dt.Columns.Add(New DataColumn("BottomWidth", GetType(String)))
dt.Columns.Add(New DataColumn("WidthAVG", GetType(String)))
dt.Columns.Add(New DataColumn("LeftLength", GetType(String)))
dt.Columns.Add(New DataColumn("RigthLength", GetType(String)))
dt.Columns.Add(New DataColumn("LengthAVG", GetType(String)))
Session("SizeTable") = dt
End If


มันน่าจะเป็น dt.Rows(i)("TopWidth") หรือปล่าวครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-02-08 11:56:34 By : fonfire
 


 

No. 8



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



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


ตอบความคิดเห็นที่ : 7 เขียนโดย : fonfire เมื่อวันที่ 2017-02-08 11:56:34
รายละเอียดของการตอบ ::
ผมโดนปัญหานี้ทิ่มตาจนได้ 5555 ขอบคุณครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-02-08 13:14:05 By : NUTKA
 


 

No. 9



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



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


Package เป็นตารางหลังโดยมี Size เป็นส่วนประกอบ
คือ ผมต้องการนำ ID ของ Package ที่เป็น PK ในตารางตัวมันเอง
แต่เป็น FK ในตาราง Size

แล้วผมจะบันทึก ID ของ Package ลงตาราง Size ยังไงครับ

Package table

Package

Size table

Size


Code (VB.NET)
Imports System.Data.SqlClient
Imports System.Globalization

Public Class Manage_Package
    Inherits System.Web.UI.Page

    Dim objConn As SqlConnection
    Dim objCmd As SqlCommand
    Dim strConnString, strSQL As String
    Dim dtAdapter As SqlDataAdapter
    Dim ds As DataSet
    Dim dt As DataTable
    Dim result As Integer
    Dim TopWidth As Decimal

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        If IsPostBack Then
            LoadSizeData()
        End If

        lblPK_AddReceiveDate.Text = Format(Now.Date.ToString("dd/MM/yyyy", New CultureInfo("en-US")))

    End Sub

    Public Sub ConnectDB()

        strConnString = ConfigurationManager.ConnectionStrings("con").ConnectionString
        objConn = New SqlConnection(strConnString)

    End Sub

    Private Sub LoadSizeData()

        If IsNothing(Session("SizeTable")) Then
            dt = New DataTable()
            dt.Columns.Add(New DataColumn("TopWidth", GetType(String)))
            dt.Columns.Add(New DataColumn("MidWidth", GetType(String)))
            dt.Columns.Add(New DataColumn("BottomWidth", GetType(String)))
            dt.Columns.Add(New DataColumn("WidthAVG", GetType(String)))
            dt.Columns.Add(New DataColumn("LeftLength", GetType(String)))
            dt.Columns.Add(New DataColumn("RigthLength", GetType(String)))
            dt.Columns.Add(New DataColumn("LengthAVG", GetType(String)))
            Session("SizeTable") = dt
        End If

        dt = DirectCast(Session("SizeTable"), DataTable)
        gvS_LoadSize.DataSource = dt
        gvS_LoadSize.DataBind()

    End Sub

    Private Sub AddToTable()

        Dim dr As DataRow = dt.NewRow

        dr("TopWidth") = txtPK_WidthTop.Text.Trim
        dr("MidWidth") = txtPK_WidthMid.Text.Trim
        dr("BottomWidth") = txtPK_WidthBottom.Text.Trim
        dr("WidthAVG") = ((CType(txtPK_WidthTop.Text.Trim, Decimal) + CType(txtPK_WidthMid.Text.Trim, Decimal) + CType(txtPK_WidthBottom.Text.Trim, Decimal)) / 3).ToString("n2")
        dr("LeftLength") = txtPK_LengthLeft.Text.Trim
        dr("RigthLength") = txtPK_LengthRigth.Text.Trim
        dr("LengthAVG") = ((CType(txtPK_LengthLeft.Text.Trim, Decimal) + CType(txtPK_LengthRigth.Text.Trim, Decimal)) / 2).ToString("n2")

        dt.Rows.Add(dr)
        Session("SizeTable") = dt
        LoadSizeData()
        Reset()

    End Sub

    Private Sub AddToDB()

        ConnectDB()
        objConn.Open()

        strSQL = "INSERT INTO Package (PK_RECEIVEDATE) " &
                    " VALUES " &
                    " (@PK_RECEIVEDATE)"
        Dim objCmd As New SqlCommand(strSQL, objConn)

        objCmd.Parameters.Add("@PK_RECEIVEDATE", SqlDbType.Date).Value = Format(Now.Date.ToString("dd-MM-yyyy", New CultureInfo("en-US")))
        objCmd.ExecuteNonQuery()

        dt = DirectCast(Session("SizeTable"), DataTable)
        For i = 0 To dt.Rows.Count - 1
            strSQL = "INSERT INTO Size (PK_ID,S_WIDTHTOP,S_WIDTHMID,S_WIDTHBOTTOM,S_LENGTHLEFT,S_LENGTHRIGTH) " &
                        " VALUES " &
                        " ('" & dt.Rows(i)("TopWidth") & "','" & dt.Rows(i)("MidWidth") & "','" & dt.Rows(i)("BottomWidth") & "','" & dt.Rows(i)("LeftLength") & "','" & dt.Rows(i)("RigthLength") & "')"
            With objCmd
                .Connection = objConn
                .CommandText = strSQL
                .CommandType = CommandType.Text
                .ExecuteNonQuery()
            End With
        Next

        objConn.Close()
        objConn = Nothing

    End Sub

    Private Sub Reset()

        txtPK_WidthTop.Text = String.Empty
        txtPK_WidthMid.Text = String.Empty
        txtPK_WidthBottom.Text = String.Empty
        txtPK_LengthLeft.Text = String.Empty
        txtPK_LengthRigth.Text = String.Empty

    End Sub

    Private Sub ResetAll()

        Reset()
        Response.Redirect("~/Manage_Package.aspx")

    End Sub



    Protected Sub btnPK_AddTo_Click(sender As Object, e As EventArgs) Handles btnPK_AddTo.Click

        AddToTable()

    End Sub

    Protected Sub btnPK_Cancel_Click(sender As Object, e As EventArgs) Handles btnPK_Cancel.Click

        ResetAll()

    End Sub

    Protected Sub btnPK_Save_Click(sender As Object, e As EventArgs) Handles btnPK_Save.Click

        AddToDB()

    End Sub

End Class



ประวัติการแก้ไข
2017-02-08 13:22:55
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-02-08 13:22:19 By : NUTKA
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : VB.Net Save ข้อมูลจาก DataTable ลง Sql Server แนะนำด้วยครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

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