14 กันยายน 2555

VB.Net กับ Windows CE

ลายท่านคงเคยเห็น พนักงานตามห้าง Big C หรือ Lotus เดินถือคอมพิวเตอร์ตัวเล็กๆ มีจอภาพน้อยๆ มีแป้นพิมพ์ตัวเลข ซึ่งเอามันมากดๆ ยิงๆ อยู่แถวๆชั้นวางของในห้าง ปกติก็จะเอาไว้ใช้ตรวจสอบราคาสินค้า ตรวจสต๊อกสินค้า หรืออื่นๆ ซึ่งโดยหลักการทำงานที่เขาทำกันอยู่ก็จะเป็นในลักษณะตัวใครตัวมัน ทำหรือดูก็เฉพาะเครื่องๆนั้น ไม่ได้ทำงานเป็นลักษณะของการออนไลน์ ดังนั้น เวลาก่อนจะทำงาน พนักงานต้องโหลดข้อมูลมาเก็บไว้ที่เครื่อง ซึ่งเจ้าเครื่องนี้ส่วนใหญ่ก็จะใช้ระบบปฎิบัติการของ Windows CE แล้วเก็บข้อมูลโดยใช้ SQL Server Compact Edition
รูปร่างหน้าตาของเจ้าเครื่องนี้
 

สำหรับบทความนี้นำเสนอวิธีการเขียนโปรแกรมบนเครื่อง Windows Ce เพื่อบันทึกข้อมูลลงบนฐานข้อมูลของตัวเครื่อง โดยเริ่มตั้งแต่การสร้างฐานข้อมูลของ SQL Server CE ผ่านทาง Visual Studio 2008 (ห้ามเขียนโปรแกรมติดต่อกับ Windows CE ด้วย Visual Studio 2010 หรือสูงกว่า เนื่องจากมันไม่สนับสนุนแล้ว) แล้วทำการเขียนโปรแกรมบน ด้วย VB.Net เพื่อทำงานบน Windows 7 ต่อจากนั้นก็ทำการเขียนโปรแกรมอีกชุดสำหรับทำงานบน Windows CE

การสร้างฐานข้อมูล SQL Server CE

1. เปิดโปรแกรม Visual Studio 2008 หรือต่ำกว่า
2. ทำการสร้าง Project ขึ้นมาใหม่ ไปที่เมนู File -> New... -> Project...
3. เลือกภาษา เป็น Visual Basic แล้วเลือก Smart Device จากนั้น คลิกที่ Smart Device Project
4. เลือก Framework ที่ใช้ เช่น .Net Framework 3.5 หรือ .Net Framework 2.0 ก็ตามแต่สะดวก
5. กำหนดชื่่อโปรเจกต์ เช่น myWinCeProject


















6. เมื่อคลิกปุ่ม OK จะขึ้นหน้าต่าง Add New Smart Device Project - myWinCeProject
7. กำหนด Target platform เป็น Windows CE
8. เลือก Device Application
9. คลิก OK




















10. ที่หน้า Visual Studio ให้ไปที่เมนู Project
11. เลือก Add New Item...






















12. ที่หน้าต่าง Add New Item เลือกที่ Data
13. เลือก Database file
14. ตั้งชื่อฐานข้อมูล เช่น myData.sdf คลิกปุ่ม Add
      จากนั้นจะขึ้นหน้าต่าง Data Source Configuration Wizard ให้คลิก ปุ่ม Finish
















15. ที่ Server Explorer ให้เลือกที่ myData.sdf แล้วคลิกขวาที่รายการ Tables จากนั้นเลือก Create Table






















16. ทำการตั้งชื่อตาราง เช่น tblProduct แล้วกำหนดชื่อคอลัมน์ (Column Name) ประเภทข้อมูล (Data Type) ขนาด (Length) อื่นๆ ตามต้องการ ดังภาพ





















เมื่อกำหนดเสร็จสิ้น ให้คลิกปุ่ม OK ก็จะได้ตาราง tblProduct หากเราต้องการสร้างตารางอื่นอีก็ย้อนกลับไปทำขั้นตอนที่ 15 และ 16 ซ้ำอีก

หากต้องการป้อนข้อมูลผ่านทาง Visual Studion ก็สามารถทำได้โดยคลิกเมาส์ปุ่มขวาที่ชื่อตารางที่ต้องการแล้ว เลือกเมนูรายการ Show Table Data จะปรากฏตารางให้เราสามารถป้อนข้อมูล ดังภาพ






















ตัวอย่างการป้อนข้อมูล


















การเขียนโปรแกรมทางฝั่ง Windows CE

หลังจากเราสร้างโปรเจกต์แล้วทำการสร้างฐานข้อมูล ทดลองป้อนข้อมูลตัวอย่างเป็นที่เรียบร้อย เราก็ย้อนกลับมาที่ฟอร์ม ซึ่งตอนเราสร้างโปรเจกต์จะมี Form1 ปรากฎขึ้นมา เราจะใช้ฟอร์มนี้ในการเขียนโปรแกรมเพื่อจัดการข้อมูล กัน

1. ที่ฟอร์ม Form1 ให้ลากคอนโทรลต่างๆ จาก Toolbox มาไว้ในฟอร์ ดังภาพ
(หากมองไม่เห็นหน้าต่าง Toolbox ให้กดปุ่ม Ctrl + Alt + X)






















เมื่อลากคอนโทรลต่างๆ ตามภาพเรียบร้อยแล้วให้กำหนด Properties ของแต่ละคอนโทรตามชื่อในภาพด้านบน

2. ทำการเขียนโปรแกรมดังนี้

Imports System.IO
Imports System.Data
Imports System.Data.SqlServerCe

Public Class Form1
    Dim conStr As String = "Data Source=" & _
            Path.GetDirectoryName(Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase) & _
            "\\myData.sdf"
    Dim con As SqlCeConnection = New SqlCeConnection(conStr)
    Dim cmd As SqlCeCommand
    Dim myDA As SqlCeDataAdapter
    Dim myDS As DataSet

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        showData()
    End Sub

    Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click

    End Sub

    Sub showData()
        cmd = New SqlCeCommand("SELECT * FROM tblProduct", con)
        If con.State = ConnectionState.Closed Then con.Open()
        myDA = New SqlCeDataAdapter(cmd)
        myDS = New DataSet()
        myDA.Fill(myDS, "tblProduct")
        DataGrid1.DataSource = myDS.Tables("tblProduct").DefaultView
    End Sub

    Sub insertData()
        Try
            Dim sqlCmd As String
            sqlCmd = "INSERT INTO tblProduct(ProdCode,ProdName,UM,SalesPrice) " & _
                     "VALUES('" & txtProdCode.Text.ToString & "','" & _
                                  txtProdName.Text.ToString & "','" & _
                                  TxtUM.Text.ToString & "'," & _
                                  txtSalesPrice.Text.ToString & ")"
            cmd = New SqlCeCommand(sqlCmd, con)
            If con.State = ConnectionState.Closed Then con.Open()
            cmd.ExecuteNonQuery()
            showData()
        Catch ex As Exception
            MessageBox.Show(ex.Message.ToString)
        End Try
    End Sub
End Class

จากตัวอย่างข้างต้น นำเสนอการแสดงข้อมูลกับ การเพิ่มข้อมูลลงฐานข้อมูล เพื่อเป็นแนวทาง หากต้องการแก้ไขหรือลบข้อมูล ให้ใช้แนวทางเดียวกับการ sub InsertData

3. จากนั้นทำการรันโปรแกรม โดยกดปุ่ม F5 จะปรากฎหน้าต่างดังนี้

















ให้เลือกอุปกรณ์ที่เราต้องการส่งโปรแกรมไปรัน หากไม่มีให้เลือก
Pocket PC 2003 SE Emulator หรือ USA Windows Mobile 5.0 Pocket PC R2 Emulator
แล้วคลิกปุ่ม Deploy หากไม่มี Error เกิขึ้น จะปรากฎหน้าต่างโปรแกรมดังภาพ
ภาษาที่ได้อาจจะไม่ขึ้นเป็นภาษาไทยก็ไม่เป็นไร






















การเขียนโปรแกรมทางฝั่ง Windows 7 

สำหรับตัวอย่างที่นำเสนอ จะนำเสนอเฉพาะการแสดงข้อมูลจากฐานข้อมูลของ SQL Server CE ผ่านทางฟอร์มของทางฝั่ง Windows

1. ทำการ D/L SDK ของ SQL Server Compact Edition เอาเป็นรุ่น 3.5 หรือ 4 (บทความนี้ขอใช้ 3.5)
ที่เว็บไซต์  http://www.microsoft.com/en-us/download/details.aspx?id=5783

2. ทำการติดตั้ง ตามหัวข้อ Instructions ที่ปรากฏในเว็บไซต์





















ทำการติดตั้งตามขั้นตอนจนเสร็จ จากนั้นกลับมาที่ Visual Studio
ให้ทำการสร้าง Project ขึ้นมาใหม่ ดังนี้

3. เปิด Visual Studio 2008 จากนั้นทำการสร้าง Project ที่เป็น Windows


4. จากนั้นไปที่ เมนู Project เลือก Add Reference เลือก แทบ .Net แล้วหา .... จำชื่อไม่ได้ขอต๊ะไวก่อน SQL SErver Compact....

5. ที่ฟอร์ม Form1 เพิ่ม Control ชื่อ DataGridView แล้วเขียนคำสั่งดังนี้ ** คำสั่ง Windows ปกติ

Imports System.Data
Imports System.Data.SqlServerCe
Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim ConnStr As String = "Data Source = d:\myData.sdf;" & _
                                "File Mode=Shared Read;Persist Security Info=False"
        Dim sql As String = "select * from tblProduct"
        Dim connection As New SqlCeConnection(ConnStr)
        Dim da As New SqlCeDataAdapter(sql, connection)
        Dim ds As New DataSet()
        connection.Open()
        da.Fill(ds, "tblProduct")
        connection.Close()
        DataGridView1.DataSource = ds
        DataGridView1.DataMember = "tblProduct"
    End Sub
End Class


ในส่วนนี้ ผู้เขียนขอไม่อธิบายในรายละเอียด เนื่องจากเป็นการติดต่อกับฐานข้อมูลที่เหมือนกับตอนเราเขียนแบบ Windows CE  เมื่อเขียนเสร็จให้ทดสอบรันโปรแกรม


ไม่ยาก สำหรับใครที่สนใจ Windows CE
สวัสดี เดือน กันยายน ฝนมาเยอะจัง

31 กรกฎาคม 2555

เรียน HTML5 แบบกล้วยๆ (ตอน 4 และ 5)

สอน HTML5 - 4 - การใช้ CSS กำหนดการพิมพ์



สอน HTML5 - 5 - รู้จักกับ META Tag




แล้วพบกันตอนต่อไป กับการเรียนรู้ เรื่อง Element , Attribute และ Attribute Value

08 กรกฎาคม 2555

เรียน HTML5 แบบกล้วยๆ

มาเริ่มต้นเรียนรู้การเขียน HTML5 กัน จัดให้เป็น Video ตอนนี้เสนอตอนแรก
ทำความรู้จักกับ HTML5 กับ TAG พื้นฐาน

HTML5 - ตอนที่ 1 - Introduction


HTML5 - ตอนที่ 2 - CSS3 กับการจัดรูปแบบหน้าเว็บ



HTML - ตอนที่ 3 - HTML tag กำหนดรูปแบบของบทความ



จ.ด.ท = จด ดู ทำ แล้วจะ จำ ได้ ท่าน 

20 มิถุนายน 2555

จัดการเรื่องการพิมพ์หน้าเว็บด้วย CSS

ลายท่านเคยใช้ Web Browser แล้วต้องสั่งพิมพ์หน้าเว็บนั้นออกทางเครื่องพิมพ์ เมื่อพิมพ์ออกมาจะปรากฏทุกอย่างบนหน้าเว็บนั้น ไม่ว่าจะเป็น เมนู โฆษณา ภาพกราฟฟิก และอื่นๆอีกจะปาถะ ซึ่งบางส่วนเราไม่ต้องการ ดังนั้นถ้าเราเป็นคนเขียนเว็บ เราจะทำอย่างไรเมื่อเวลาสั่งพิมพ์ แล้วให้พิมพ์เฉพาะข้อมูลที่ต้องการเท่านั้น เราสามารถทำได้โดยอาศัย CSS เข้ามาช่วยในการกำหนดรูปแบบของการพิมพ์ ไม่ว่าจะเป็น ฟอนต์ สีสัน หรือขอบเขตของข้อมูลที่ต้องการ เป็นต้น สำหรับบทความนี้จะนำเสนอเฉพาะเอกสาร HTML เท่านั้น (ส่วน ASP.NET ก็จะคล้ายกันแต่มีรายละเอียดเพิ่มเติมอีกนิดหน่อ จะยังไม่ขอกล่าวในตอนนี้)

ตัวอย่าง คำสั่ง HTML 5























ตัวอย่าง คำสั่ง CSS

ไฟล์ชื่อ stylesheet.css จะแสดงรายการของ Header ออกมาที่หน้าจอ

header {
        color:blue;
        background-color:yellow;
       }

ไฟล์ชื่อ printstylesheet.css จะไม่แสดงรายการของ Header ออกมาเมื่อทำการพิมพ์

header {
        visibility:hidden; 
        width:0px;
        height:0px;
       }

จากนั้น เมื่อทำการพิมพ์ผลออกทางเครื่องพิมพ์ จะไม่ปรากฎในส่วนที่ถูกกำหนดให้ visibility:hidden

26 พฤษภาคม 2555

VB.NET แสดงสถานะปุ่มเปลี่ยนภาษา Grave Accent ( ~ )

การเขียนคำสั่งเพื่อแสดงสถานะของภาษาบนแป้นพิมพ์ (keyboard) ที่ใช้อยู่ สามารถทำได้โดยอาศัยการตรวจสอบการกดปุ่ม Grave Accent ( ~ ) จาก Procedure ของฟอร์ม ชื่อ InputLanguageChanged ตามตัวอย่างด้านล่าง (Source Code from : http://songkwae.com/foxboard/display_topic_threads.asp?ForumID=3&TopicID=3815&PagePosition=1) ดังนี้

วิธีที่ 1 ที่ Procedure : InputLanguageChange
Private Sub Form1_InputLanguageChanged _
           (ByVal sender As Object, ByVal e As _
            System.Windows.Forms.InputLanguageChangedEventArgs) _
            Handles Me.InputLanguageChanged

    Label1.Text = InputLanguage.CurrentInputLanguage.Culture.DisplayName.ToString

End Sub
ที่ Procedure : Load
Private Sub Form1_Load _
            (ByVal sender As System.Object, ByVal e As System.EventArgs) _
             Handles MyBase.Load
    Label1.Text = InputLanguage.CurrentInputLanguage.Culture.DisplayName.ToString
End Sub
วิธีที่ 2 อาศัยเรียกใช้จาก user32 ให้ทำการ Import คลาสเข้ามาใช้งาน
Imports System.Runtime.InteropServices
จากนั้นสร้าง Function ชื่อ GetKeyBoardLayoutName
   _
  Private Shared Function GetKeyboardLayoutName _
         (ByVal sb As System.Text.StringBuilder) As Integer
     'ไม่ต้องใส่อะไร
    End Function
ที่ Procedure : InputLanguageChange
Private Sub Form1_InputLanguageChanged _
           (ByVal sender As Object, ByVal e As _
            System.Windows.Forms.InputLanguageChangedEventArgs) _
            Handles Me.InputLanguageChanged
        Dim sb As New System.Text.StringBuilder(" "c, 256)
        Dim len As Integer
        len = GetKeyboardLayoutName(sb)
        Label1.Text = sb.ToString

End Sub
ที่ Procedure : Load
Private Sub Form1_Load _
            (ByVal sender As System.Object, ByVal e As System.EventArgs) _
             Handles MyBase.Load
        Dim sb As New System.Text.StringBuilder(" "c, 256)
        Dim len As Integer
        len = GetKeyboardLayoutName(sb)
        Label1.Text = sb.ToString
End Sub
สำหรับวิธีที่ 2 การแสดงผลจะเป็นรหัส เช่น ' ไทย -- 0000041E ' English -- 00000409 หวังว่าคงเป็นประโยชน์.... สวัสดี คนไทยไม่ทิ้งกัน

03 พฤษภาคม 2555

VB.Net ค้นหาข้อมูล

ทความนี้นำเสนอการสร้างฟอร์มค้นหาข้อมูล โดยทำการสร้างฟอร์มขึ้นมาแล้วค้นข้อมูลจากตารางในฐานข้อมูล SQL Server จากนั้นนำข้อมูลที่ค้นได้มาแสดงในกริด เมื่อผู้ใช้ DoubleClick เลือกที่แถว ให้ทำการส่งค่ารหัสในแถวที่เลือกกลับไปยังฟอร์มหลัก

เริ่มทำฟอร์มสอบถามข้อมูล
ให้สร้างฟอร์มที่ Visual Studio ขึ้นมาใหม่ แล้วตั้งชื่อฟอร์มว่า frmInquiry จากนั้นให้สร้างคอนโทรลต่างๆ ตามภาพแล้วกำหนด property ดังนี้



ป้อนคำสั่งที่ frmInquiry.vb ดังนี้
Imports System.Data
Imports System.Data.SqlClient

Public Class frmInquiry
    ' ตัวแปรที่ใช้ใน Property [AssCode]
    Dim rAssCode As String = " "

    Private Sub frmInquiry_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        queryData()
        'สลับสีของแถว 
        DataGridView1.RowsDefaultCellStyle.BackColor = Color.White
        DataGridView1.AlternatingRowsDefaultCellStyle.BackColor = Color.Azure

        With DataGridView1
            .DefaultCellStyle.NullValue = ""
            .Columns(0).HeaderText = "รหัสสินทรัพย์"
            .Columns(0).Width = 100
            .Columns(1).HeaderText = "รายการ"
            .Columns(1).Width = 200
            .Columns(2).HeaderText = "หน่วยนับ"
            .Columns(2).Width = 80
        End With
    End Sub
    Private Sub txtSearch_TextChanged(ByVal sender As System.Object, _
               ByVal e As System.EventArgs) Handles txtSearch.TextChanged
        queryData()
    End Sub
    Private Sub DataGridView1_CellContentDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentDoubleClick
        Dim row As Integer = DataGridView1.CurrentCellAddress.Y
        AssCode = DataGridView1.Rows(row).Cells(0).Value   'Cell(0) คือ คอลัมแรกของกริดนับจากซ้ายมือ
        Me.Close()
    End Sub
    Sub queryData()
        'ให้ทำการแก้ไข Connection String ตามที่เราใช้งานอยู่
        Dim connString As String = "Data Source=.;Initial Catalog=ชื่อฐานข้อมูล;Persist Security Info=True;User ID=sa;Password=รหัสผ่าน"

        Dim myConn As SqlConnection = New SqlConnection
        myConn.ConnectionString = connString

        'ให้แก้ไขคำสั่ง SQL ตามที่ต้องการ
        Dim da As SqlDataAdapter = New SqlDataAdapter _
                       ("SELECT TOP 50 ASSCODE, NAME, UMCODE  FROM ABASSET WHERE ASSCODE+NAME LIKE '%" & txtSearch.Text.Trim & "%'  ORDER BY ASSCODE", myConn)
        Dim ds As DataSet = New DataSet
        da.Fill(ds, "ABASSET")
        myConn.Close()

        DataGridView1.DataSource = ds.Tables(0)
    End Sub
    '' หากมีการส่งคืนหลายค่า ก็สร้าง Property เพิ่ม
    Public Property [AssCode]() As String
        Get
            Return Me.rAssCode
        End Get
        Set(ByVal value As String)
            Me.rAssCode = value
        End Set
    End Property
End Class
ต่อมาเราจะมาทำฟอร์มหลัก สำหรับเรียกฟอร์มค้นหา

เริ่มทำฟอร์มหลัก

ที่ฟอร์ม Form1 ให้สร้างคอนโทรลต่างๆ ดังภาพ

จากนั้นทำการป้อนคำสั่งที่ form1.vb ดังนี้

Public Class Form1
    Private Sub btnSearch_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSearch.Click
        Dim fm As New frmInquiry()
        fm.ShowDialog()
        If fm.AssCode.ToString <> "" Then
            txtAssCode.Text = fm.AssCode.ToString  'อ้างถึง property ชื่อ [AssCode] ของฟอร์ม frmInquiry
        End If
        fm.Dispose()
        txtAssCode.Focus()
End Sub
End Class
ทำการเรียกฟอร์มขึ้นมาทำงาน โดยกดปุ่ม F5 เพื่อรันโปรเจกต์
เมื่อปร่กฎหน้าจอ Form1 ให้คลิกปุ่ม ... ที่ฟอร์ม แล้วทดสอบดู ตามตัวอย่างดังภาพ


24 เมษายน 2555

VB.Net Google Maps ตอนหาค่า Latitude และ Longitude

หลังจากที่ได้ทำการเขียนเรื่อง Google Maps ในตอนแรกแล้ว มีผู้อ่านบางท่านสนใจที่จะหาตำแหน่ง Latitude และ Longitude จากที่อยู่ ว่าทำได้หรือไม่ เผอิญมีตัวอย่างที่เว็บต่างประเทศเขาทำไว้น่าสนใจ เลยนำมาทำเป็นในรูปแบบไทย ๆ ให้ผู้สนใจได้ทำการศึกษาและนำไปต่อยอดตามต้องการ
(Source : http://www.vbdotnetheaven.com/uploadfile/scottlysle/geocode-an-address-using-visual-basic-and-google-maps/ )

1. หลังจากที่เราสร้างโปรเจกต์เรียบร้อย ที่หน้าจอ Form1 ให้ทำการเพิ่มคอนโทรลเข้าไปดังภาพ






















2. ให้คลิกเมาส์ 2 ครั้ง (double Click) ที่ปุ่ม Get GeoCode (Button1) แล้วเปลี่ยนคำสั่งในฟอร์มทั้งหมดให้เป็น ดังนี้

Imports System.IO
Imports System.Net
Imports System.Web
Imports System.Collections.Generic
Imports System.ComponentModel

Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, _
                              ByVal e As System.EventArgs) Handles Button1.Click
        Try
            Dim ll As New LatLon()
            ll = GetLatLon(txtAddress.Text)
            txtLatLon.Text = ll.Latitude.ToString() & ", " & ll.Longitude.ToString()
        Catch ex As Exception
            MessageBox.Show(ex.Message, "An error has occurred")
        End Try
    End Sub
    Public Function GetLatLon(ByVal addr As String) As LatLon
        Dim url As String = "http://maps.google.com/maps/geo?output=csv&" & _ 
                            "key=[YOUR KEYGOES HERE]&q=" & addr
        Dim request As System.Net.WebRequest = WebRequest.Create(url)
        Dim response As HttpWebResponse = request.GetResponse()
        If response.StatusCode = HttpStatusCode.OK Then
            Dim ms As New System.IO.MemoryStream()
            Dim responseStream As System.IO.Stream = response.GetResponseStream()
            Dim buffer(2048) As Byte
            Dim count As Integer = responseStream.Read(buffer, 0, buffer.Length)
            While count > 0
                ms.Write(buffer, 0, count)
                count = responseStream.Read(buffer, 0, buffer.Length)
            End While
            responseStream.Close()
            ms.Close()
            Dim responseBytes() As Byte = ms.ToArray()
            Dim encoding As New System.Text.ASCIIEncoding()
            Dim coords As String = encoding.GetString(responseBytes)
            Dim parts() As String = coords.Split(",")
            Return New LatLon(Convert.ToDouble(parts(2)), Convert.ToDouble(parts(3)))
        End If
        Return Nothing
    End Function

End Class

3. ไปที่เมนู Project เลือกรายการ Add Class...
จากนั้น ป้อนชื่อคลาส ->  LatLon.vb  แล้วคลิก Add
จากนั้น พิมพ์คำสั่งภายใต้คลาด LatLon ดังนี้

Public Class LatLon
    Public Property Latitude As Double
    Public Property Longitude As Double
    Public Sub New()
    End Sub
    Public Sub New(ByVal lat As Double, ByVal lon As Double)
        Me.Latitude = lat
        Me.Longitude = lon
    End Sub
End Class


หลังจากนั้นให้กดปุ่ม F5 เพื่อทำการทดสอบโปรแกรม จะปรากฏหน้าต่างให้เราป้อนที่อยู่ที่ต้องการ ดังภาพ

เราก็สามารถนำค่าของ Latitude และ Longitude ไปใช้งานได้ตามต้องการ

อะไรเอ่ย หาไม่ยาก ตอบ หายี่ห้อโทรศัพท์
แต่หากจะหาคนส่งภาพในสภา นี่สิหายากที่สุด

11 เมษายน 2555

VB.Net การสร้างรายงานตอนที่ 2

     การสร้างรายงานในตอนที่ 2 นี้จะนำเสนอวิธีการกรองข้อมูลตามช่วงข้อมูลที่กำหนด แล้วนำมาออกรายงาน เราจะได้เรียนรู้วิธีการสร้าง Quey ภายใต้ DataSet และการเรียกใช้ ตลอดจนการอ้างถึงรายงานจากภายนอกด้วยการเขียนโปรแกรม เพื่อนำรายงานมาแสดงในคอนโทรล ReportViewer
     หากยังไม่เคยดูการสร้างรายงาน ตอนที่ 1 กรุณากลับไปศึกษาให้เข้าใจก่อนแล้วกลับมาดูวีดีโอนี้อีกครั้ง




โค้ดคำสั่ง VB.Net

Imports Microsoft.Reporting.WinForms

Public Class Form2
      Private adapter As dsABACUSTableAdapters.ABAssetTableAdapter = New   _
                              dsABACUSTableAdapters.ABAssetTableAdapter()
      Private table As New dsABACUS.ABAssetDataTable()
      Private MyNewDataSource As New ReportDataSource("DataSet1",  _
                                                                 DirectCast(table, DataTable))
      Private Sub btnRun_Click(ByVal sender As System.Object,  _
                                                 ByVal e As System.EventArgs) _
                                                 Handles btnRun.Click
           adapter.FillByType(table, txtFrom.Text.ToString.Trim, txtTo.Text.ToString.Trim)
           Me.ReportViewer1.LocalReport.ReportPath = ".\Reports\rptABAsset.rdlc"
           Me.ReportViewer1.LocalReport.DataSources.Clear()
           Me.ReportViewer1.LocalReport.DataSources.Add(MyNewDataSource)
           Me.ReportViewer1.LocalReport.Refresh()
           Me.ReportViewer1.RefreshReport()
     End Sub
End Class

สวัสดี สงกรานต์ปีนี้ ไม่ต้องไปฟ้องครู "อังคณา" .... น่ะ

22 มีนาคม 2555

VB.Net การสร้างรายงาน ตอนที่ 1

บทความนี้ทำเป็นวีดีโอ นำเสนอวิธีการสร้างรายงาน โดยใช้ Visual Studio 2010 ไม่เจาะจงภาษาใดๆ เลย เพราะตัวรายงานที่สร้างยังไม่มีการเขียนโค้ดคำสั่ง ดังนั้นทุกท่านสามารถทำตามได้ทันที



สำหรับตอนต่อไป จะเรียนรู้วิธีการส่งค่าพารามิเตอร์ เพื่อกรองข้อมูลที่ต้องการ

สวัสดีประเทศไทย ช่วงนี้ร้อนจริงๆ

16 มีนาคม 2555

VB.Net Pass Value Between From ส่งค่าผ่านระหว่างฟอร์ม

เมื่อเราเขียนโปรแกรม แล้วมีฟอร์มหลายๆ ฟอร์ม หากต้องการส่งผ่านค่า จากฟอร์มหนึ่งไปยังอีกฟอร์มหนึ่ง สามารถทำได้ดังนี้

1. ให้สร้างฟอร์มขึ้นมาเป็นฟอร์มหลัก เช่น ต้องการส่งค่า TextBox จากฟอร์มที่สร้างขึ้นนี้ไปให้อีกฟอร์มหนึ่ง ให้กำหนดคอนโทรลดังภาพ
















2. ดับเบิ้ลคลิกที่ ปุ่ม Button1 (Send)  เพื่อเข้าไปป้อนคำสั่ง ให้ป้อนดังนี้

Public Class Form1
    Private Sub Button1_Click(ByVal sender As System.Object, _ 
                ByVal e As System.EventArgs) Handles Button1.Click
        Dim fm2 As Form2 = New Form2
        fm2.ValueToPassBetweenForms1 = Me.TextBox1.Text
        fm2.ShowDialog()
    End Sub
End Class

3. ให้สร้างฟอร์มขึ้นมาอีกหนึ่งฟอร์มเป็นฟอร์มสำหรับรับค่า แล้วกำหนด คอนโทรลดังภาพ

















4. ดับเบิ้ลคลิกที่ฟอร์มเพื่อเข้าไปป้อนคำสั่ง ให้ป้อนดังนี้

Public Class Form2
    Inherits Form

    Public Sub New()
        MyBase.New()
        InitializeComponent()

        AddHandler Load, AddressOf Me.Form2PassValue_Load

    End Sub

    Private Sub Form2PassValue_Load(ByVal sender As Object, _
                ByVal e As EventArgs)
        Me.Label1.Text = Me._valueToPassBetweenForms1
    End Sub

    Private _valueToPassBetweenForms1 As String

    Public Property ValueToPassBetweenForms1() As String
        Get
            Return Me._valueToPassBetweenForms1
        End Get
        Set(ByVal value As String)
            Me._valueToPassBetweenForms1 = value
        End Set
    End Property

    Private Sub Button1_Click(ByVal sender As System.Object, _ 
                ByVal e As System.EventArgs) Handles Button1.Click

        Me.Dispose()
    End Sub
End Class

จากนั้นทำการ กดปุ่ม F5 เพื่อสั่งรันฟอร์ม ทดสอบสิ่งที่ทำไว้

ผลัดกันส่งไปส่งมา พาชาติเจริญ

03 กุมภาพันธ์ 2555

VB.Net Google Maps

การทำแผนที่หาตำแหน่งตามต้องการด้วย VB.Net ก่อนอื่นเราต้องหาตำแหน่งให้ได้ก่อน
วิธีหนึ่งที่เราจะหาพิกัดในแผนที่ สามารถทำได้โดยเปิด Browser แล้วเข้าไปที่เว็บไซต์
http://maps.google.co.th/
จากนั้นทำการซูมแผนที่จนได้ตำแหน่งที่ต้องการ แล้วทำดังนี้
1. คลิกเมาส์ปุ่มขวา ณ. ตำแหน่งที่ต้องการทราบพิกัด แล้ว เลือกรายการนี่คืออะไร
2. จะปรากฏเลขพิกัด ลองติจูด, ละติจูด ปรากฏขึ้นตามภาพด้านล่าง






























สร้างฟอร์มแสดงแผนที่ ด้วย VB.Net
1. เปิดโปรแกรม Visual Studio 2010 แล้วสร้างโปรเจกต์ใหม่ โดย
    - คลิกเลือกเมนู File เลือกรายการ New Project...
    - ที่หน้าต่าง New Project เลือก Windows Form Application จาก Visual Basic -> Windows
    - ที่ช่อง New ในหน้าต่าง New Project ให้ตั้งชื่อตามต้องการ

2. ให้สร้างฟอร์มดังภาพ

























กำหนด Property ของคอนโทรลต่างๆ ดังนี้
Label1 : Text = Latitude
Label2 : Text = Longitude
Textbox1 : (Name) = txtLatidude
Textbox2 : (Name) = txtLongitude
Button1(Name) = btnSearch
                  Text = Search
WebBrowser1 : (Name) = WebBrowser1

ดับเบิ้ลคลิกที่ปุ่ม btnSearch แล้วเข้าไปเขียนโค้ดคำสั่ง ดังนี้

Imports System.Text

Public Class Form1
 Private Sub btnSearch_Click(ByVal sender As System.Object, _ 
          ByVal e As System.EventArgs) _
          Handles btnSearch.Click
  Try
    Dim latitude As String = ""
    Dim longitude As String = ""
    Dim AddrToSearch As New StringBuilder()
    AddrToSearch.Append("http://maps.google.com/maps?output=embed&hl=th&q=")
    ' if there is latitude
    If txtLatitude.Text <> "" Then
       latitude = txtLatitude.Text
       AddrToSearch.Append(latitude & "%2C")
    End If
    ' if there is longitude
    If txtLongitude.Text <> "" Then
       longitude = txtLongitude.Text
       AddrToSearch.Append(longitude)
    End If
    ' pass the AddrToSearch value to web browser control
    WebBrowser1.Navigate(AddrToSearch.ToString())
  Catch ex As Exception
    MessageBox.Show(ex.Message.ToString(), _
                    "Problem encountered while retrieving google map")
  End Try
 End Sub
End Class

ทำการเรียกฟอร์มที่เขียนไว้ให้ทำงาน โดยกดปุ่ม F5 จะปรากฎหน้าต่างของโปรแกรมให้ทำการป้อนค่าของพิกัด โดยใส่ ลองติจูดและ ละติจูด ที่ได้จากการหาตำแหน่งในตอนแรก แล้วคลิกปุ่ม Search จะปรากฏแผนที่แสดงตำแหน่งดังภาพ



























เราสามารถนำไปประยุกต์ใช้งานได้หลากหลาย สามารถนำไปใช้กับเว็บ นำไปใช้กับอุปกรณ์ GPS และอื่นๆ อีกมากมาย

หากต้องการ หาตำแหน่ง พิกัด ลองติจูด, ละติจูด จาก ที่อยู่ สามารถดูได้จาก บทความตามลิงค์ด้านล่างนี้
http://kasem-mesak.blogspot.com/2012/04/vbnet-google-maps-latitude-longitude.html

3 กุมภาพันธ์ วันทหารผ่านศึก

27 มกราคม 2555

FLASH GAME การสร้างเกมภาพระบายสี Color Book

เนื้อหาในส่วนนี้จะเป็นวีดีโอสอนการเขียนเกมภาพระบายสีโดยใช้โปรแกรม Adobe Flash และ Action Script 3 จัดทำในลักษณะของวีดีโอ จะได้เรียนรู้วีธีการสร้างและวิธีการเขียน ไม่เก่งการเขียนโปรแกรมก็เรียนรู้ได้ ไม่เคยเขียน Action Script ก็ทำตามได้ สรุป ใครๆ ก็สามารถทำได้ถ้าได้ดูและทำตาม

วีดีโอสอนการเขียนเกมภาพวาดระบายสี


** ในวีดีโอ มีส่วนที่ต้องเพิ่มเติมแก้ไข เนื่องจากไม่ได้บอกไว้ ตรงเส้นกรอบ-การตั้งชื่อ ให้กำหนดตามภาพ


ด้านล่างนี้คือโค้ดคำสั่ง Action Script 3.0 ที่ใช้ในโปรแกรมที่นำเสนอข้างต้น
โดยการเขียนไว้ภายใต้เลเยอร์ action

var np:Number = 17;
var nc:Number = 10;
var color:Number = 0xffffff;
var cArray:Array = new Array(0xff0000,0x00ff00,0x0000ff,0xffff00,0x00ffff,
        0xff00ff,0x66ff66,0x666666,0x000000,0xffffff);
var colorchange:ColorTransform = new ColorTransform();
GameStart();
function GameStart() {
    btnNew.addEventListener(MouseEvent.CLICK, mcNew); 
    for (var ip:uint = 1; ip <= np; ip++) {
        colorchange.color = 0xffffff;
  //trace(this["p"+ip].name);
  this["p"+ip].transform.colorTransform = colorchange;
        this["p"+ip].addEventListener(MouseEvent.CLICK, mcPaint);
    }
    for (var ic:uint = 1; ic <= nc; ic++) {
        this["c"+ic].addEventListener(MouseEvent.CLICK,mcColor);
        colorchange.color = cArray[ic - 1];
        this["c"+ic].transform.colorTransform = colorchange;
    }
    colorchange.color = color;
    sc.transform.colorTransform = colorchange;
}
function mcNew(e:MouseEvent): void {
    for (var ip:uint = 1; ip <= np; ip++) {
        colorchange.color = 0xffffff;
  this["p"+ip].transform.colorTransform = colorchange;
   }
}
function mcColor(e:MouseEvent): void {
    var objName:String = e.target.name;
    color = cArray[uint(objName.substr(1,(objName.length)-1))-1];
    colorchange.color = color;
    sc.transform.colorTransform = colorchange;
}
function mcPaint(e:MouseEvent):void {
    colorchange.color = color;
    this[e.target.name].transform.colorTransform = colorchange;
}
เขียนเกมไม่ยากใช่ไหม

20 มกราคม 2555

VPN - การใช้งาน HAMACHI ติดตั้ง VPN

VPN (Virtual Private Network)  คือเทคโนโลยีการเชื่อมต่อเครือข่ายในลักษณะเป็นระบบเครือข่ายภายในองค์กร โดยเชื่อมเครือข่ายในแต่ละสาขาเข้าด้วยกัน โดยอาศัย Internet เป็นตัวกลาง ทำให้เราสามารถใช้แฟ้มข้อมูล ฐานข้อมูลร่วมกันได้ เป็นต้น

(Last Modify 5 Nov 2019)

การสร้างเครือข่าย VPN ก็ทำได้ไม่ยากสำหรับองค์กรที่มีเบี้ยน้อยหอยน้อย สามารถทำได้ง่ายๆ โดยใช้ซอฟต์แวร์ ชื่อ Hamachi ซึ่งเป็นผู้ผลิตเดียวกับตัว Logmein ที่เป็นซอฟต์แวร์รีโมท

สำหรับตัว Hamachi หากการเชื่อมต่อไม่เกิน 5 เครื่อง (4 Client + 1 Server) เราก็สามารถใช้งานได้ฟรี

เรามาเริ่มกันเลยดีกว่า
ก่อนอื่นต้องดาวน์โหลซอฟต์แวร์ ให้เปิดเว็บไซต์  https://www.vpn.net/

แล้วทำการดาวน์โหลดมาเก็บไว้ที่เครื่องเรา จะได้ไฟล์ชื่อ hamachi.msi
จากนั้นทำการติดตั้ง

การติดตั้ง Hamachi

การติดตั้ง Hamachi เราจะต้องทำการติดตั้งไว้ที่ฝั่งที่เป็น Server ก่อน และฝั่ง Client โดยใช้ไฟล์ติดตั้งตัวเดียวกัน


การติดตั้งของ Hamachi จะปรากฎหน้าจอดังภาพด้านล่าง


ทำการเลือกภาษาที่ต้องการ จากนั้นคลิกปุ่ม Next

ให้คลิกเครื่องหมายถูกหน้าข้อความ I have read and agree to the terms of the License Agreement
 
คลิกปุ่ม Next


คลิกปุ่ม Next ไปเรื่อย ๆ จนกระทั่งติดตั้งเสร็จ


แล้วคลิกปุ่ม Finish

การกำหนดเครื่องคอมพิวเตอร์หลัก (ฝั่ง Server)

หลังจากที่ได้ทำการติดตั้งโปรแกรม Hamachi แล้ว เครื่องที่เราต้องการให้เป็นเครื่องคอมพิวเตอร์หลัก (ที่เราจะทำให้เป็นเซิร์ฟเวอร์) ให้ทำการกำหนดค่าต่างๆ ดังนี้ (ทำแค่ครั้งแรกครั้งเดียว)
1. เปิดโปรแกรม Hamachi จะปรากฎหน้าต่างดังภาพ

 
2. ให้คลิกปุ่ม เปิด ตามลูกศรชี้ (ปุ่มที่อยู่ติดกับตัวเลข 0.0.0.0)
รอสักครู่จะปรากฎหน้าต่าง Register this client ดังภาพ

 
ที่ช่อง Client name ให้กำหนดชื่อ ตามที่ต้องการ ลงไป จากตัวอย่าง กำหนดเป็น SUPERMAN-PC
จากนั้นคลิกปุ่ม Create
รอสักครู่จะปรากฏหน้าต่างแสดงหมายเลขไอพี และชื่อเครื่องที่เรากำหนดไว้ ดังภาพ
(หากไม่ขึ้นให้ตรวจสอบการเชื่อมต่ออินเทอร์เน็ต)


3. ทำการสร้างกลุ่มของ Network โดยคลิกที่ปุ่ม Create a new network ตามลูกศรในภาพ
จะปรากฏหน้าต่างให้กำหนด Network ID และ Password ดังนี้


4. ให้กำหนดชื่อ Network ID และกำหนดรหัสผ่าน สำหรับให้เครื่องลูกข่ายเข้ามาติดต่อ
จากนั้นคลิกปุ่ม Create เราก็จะได้ กลุ่ม Network แสดงดังภาพ


การกำหนดให้เครื่องเราทำตัวเป็นเครื่องคอมพิวเตอร์หลัก (Server) เป็นอันเสร็จสิ้น

การกำหนดคอมพิวเตอร์ลูกข่าย (ฝั่ง Client)

ให้ทำการติดตั้งโปรแกรม Hamachi ที่ฝั่งของคอมพิวเตอร์ลูกข่ายโดยใช้ไฟล์ติดตั้งเดียวกันกับฝั่ง Server

เมื่อเราติดตั้งเครื่องคอมพิวเตอร์หลักเรียบร้อย ที่เครื่องลูกข่ายทำการกำหนดค่าเหมือนกับการติดตั้งคอมพิวเตอร์หลัก แต่ทำเฉพาะ ข้อ 1 และ ข้อ 2

เมื่อทำเสร็จ จะปรากฏหน้าจอดังภาพ


ให้คลิกที่ปุ่ม Join an existing network จะปรากฏหน้าจอดังภาพ


ที่หน้าต่าง Join Network ให้กำหนดชื่อ Network ID (ชื่อนี้กำหนดไว้ตอนที่เราทำคอมพิวเตอร์หลัก)
และที่ช่อง Password ให้ใส่รหัสผ่านที่กำหนดไว้ตอนที่เราทำคอมพิวเตอร์หลักอีกเช่นกัน

เมื่อกำหนดเสร็จคลิกที่ปุ่ม Join จะปรากฏหน้าต่างดังภาพ (หากไม่ขึ้น ตรวจสอบ การเชื่อมต่อ internet หรือชื่อ Network ID หรือรหัสผ่านว่าถูกต้องหรือไม่)


หากปรากฏชื่อของเครื่องคอมพิวเตอร์หลัก แสดงว่าติดต่อสำเร็จ
เราสามารถใช้งาน VPN ได้แล้ว

การใช้งาน แชท ระหว่างเครื่อง เมื่อเราได้ทำการติดตั้งและติดต่อระหว่างเครื่องคอมพิวเตอร์หลัก กับเครื่องคอมพิวเตอร์ลูกข่ายเรียบร้อยแล้ว สิ่งที่เราสามารถทำได้อย่างหนึ่งคือการ แชท (chat) หรือการพูดคุยกันระหว่างเครื่อง ซึ่งสามารถทำได้ไม่ยาก โดยการคลิกเมาส์ปุ่มขวาที่เครื่องที่เราต้องการติดต่อ แล้วเลือกรายการ Chat ดังภาพ


การใช้งานฐานข้อมูลจากเครื่องคอมพิวเตอร์หลัก
สำหรับผู้เขียนได้ติดตั้งระบบฐานข้อมูล SQL Server ไว้ที่คอมพิเตอร์หลัก และได้ทำการเข้าถึงจากเครื่องคอมพิวเตอร์ลูกข่าย
การทำงานนั้นเราต้องทราบหมายเลข ไอพี (ที่ได้จาก hamachi) ของเครื่องคอมพิวเตอร์หลักที่ติดตั้ง SQL Server


จากภาพเป็นหมายเลขไอพีของเครื่องคอมพิวเตอร์หลัก ที่ได้ติดตั้ง SQL Server ไว้
ซึ่งเราจะนำหมายเลขนี้มาใช้ในการติดต่อกับฐานข้อมูลผ่านทางโปรแกรม
Microsoft SQL Server Management Studio ดังภาพ


หลังจากเราติดต่อเข้าใช้งาน SQL Server ได้แล้วก็ทำงานได้ทุกอย่าง เหมือนเราใช้งานภายใต้เน็ตเวิร์คเดียวกัน ดังภาพ


การใช้งานโปรแกรมที่ใช้ฐานข้อมูลในลักษณะ Client Server
ในกรณีที่เรามีสำนักงานสาขาอยู่ต่างที่กัน เราสามารถทำการเชื่อมต่อด้วย Hamachi แล้วทำงานเสมือนหนึ่งเราอยู่ ณ. เครือข่ายเดียวกัน

สำหรับตัวอย่างที่นำเสนอเป็นการเรียกโปรแกรมจากเครื่องลูกข่าย เพื่อติดต่อไปยังฐานข้อมูลของสำนักงานใหญ่ ผ่านทาง Hamachi

- เครื่องลูกข่ายได้ติดตั้งโปรแกรม hamachi, ติดตั้งซอฟต์แวร์ปฏิบัติงาน , ติดตั้งไดร์เวอร์สำหรับติดต่อ กับ SQL Server

เมื่อทำการเรียกโปรแกรม ก็จะเข้าไปดึงข้อมูลจากสำนักงานใหญ่ผ่านทาง Hamachi มาแสดง


จากภาพด้านบนเป็นการกำหนด Data Source ให้ไปเรียกข้อมูลที่เครื่องคอมพิวเตอร์หลัก



จากภาพด้านบน เป็นตัวอย่างการค้นหาเอกสารจากฐานข้อมูลได้ผลลัพธ์ออกมาจำนวน 5070 รายการ แล้วนำมาแสดงในโปรแกรม ใช้เวลาไม่ถึง 1 วินาทีในการเรียกข้อมูล (ความเร็วขึ้นอยู่กับความเร็วของ internet ที่ใช้งาน)

หวังว่า Hamachi คงช่วยตอบโจทย์ให้กับเหล่านักพัฒนาระบบทั้งหลายได้เป็นอย่างดี

17 มกราคม 2555

VB.Net Printing

ารพิมพ์รายงานต่างๆ ผ่านทาง VB.Net สามารถทำได้หลายวิธี เช่น ผ่านทาง Crystal Report หรือ เขียนโปรแกรมสั่งพิมพ์โดยใช้ VB.Net สำหรับบทความนี้จะแนะนำวิธีการเขียนคำสั่ง ซึ่งจะเป็นพื้นฐานในการควบคมการทำงานทางด้านการพิมพ์ในรูปแบบต่างๆ ตามใจปรารถนา ถึงแม้จะเข้าใจยากแต่เมื่อเรียนรู้จนเข้าใจก็จะคุ้มค่าแก่การศึกษา
สำหรับ .Net ได้จัดเตรียม ออปเจกต์จัดการเกี่ยวกับการพิมพ์ไว้พร้อมแล้ว คือ PrintDocument ซึ่งเก็บไว้ภายใต้ คลาส System.Drawing.Printing
เพื่อไม่ให้เป็นการเสียเวลา จะขอยกตัวอย่างการพิมพ์รายงาน โดยทำการคิวรีข้อมูลจากตารางภายใต้ฐานข้อมูล SQL Server แล้วพิมพ์ออกมาในรายงานตามต้องการ

ตัวอย่างการเขียนคำสั่งพิมพ์เอกสารด้วย VB.Net
1. เปิด โปรแกรม Visual Studio .Net

07 มกราคม 2555

SQL Server - Import Text File into SQL Server

นำเข้าข้อมูลเท็กซ์ไฟล์จากภายนอก ใส่ไว้ในตาราง SQL Server

หลายครั้งเรามีความจำเป็นที่จะต้องนำข้อมูลจากภายนอกมาเพิ่มใส่ในตารางบนฐานข้อมูลของ SQL Server สามารถทำได้ไม่ยาก ด้วยคำสั่ง BULK INSERT

เช่น เรามีข้อมูลเท็กซ์ไฟล์ชื่อ CUSTOMER.TXT ที่มีข้อมูลบรรจุอยู่ภายในดังนี้

10001,บริษัท นายก,254/1 ถนนใหญ่ ซอยเล็ก เขตประเทศไทย จังหวัดกรุงเทพฯ
10002,บริษัท ABC,55 ถนนเล็ก ซอยใหญ่ เขตบางคอแหลม จังหวัดกรุงเทพฯ
10003,บริษัท Zaดี,2555 ถนนปูน ซอยเล็ก เขตบางโคล่ จังหวัดกรุงเทพฯ

1.ให้สร้างตารางใน SQL Server ตามรูปแบบของข้อมูลข้างต้น ซึ่งประกอบด้วย รหัส,ชื่อบริษัท,ที่อยู่ ดังนี้

CREATE TABLE [dbo].[CUSTOMER](
[CUSTOMER_NO] [char] (5) NOT NULL ,
[COMPANY_NAME] [varchar](100) NOT NULL,
[ADDRESS] [varchar](100) NOT NULL )

2.ทำการเพิ่มข้อมูลเท็กซ์ไฟล์เข้าสู่ตาราง โดยทำผ่านทาง Microsoft Management Studio ผ่านทางหน้าต่าง New Query ดังนี้

BULK
INSERT [dbo].[CUSTOMER]
FROM 'C:\CUSTOMER.TXT'
WITH
(
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n'
)

สำหรับคำสั่งทั้งหมด ดูตามตัวอย่างดังภาพ


เทศกาลตรุษจีน ขอให้เฮงๆ รวยๆ

06 มกราคม 2555

การสร้างภาพพาโนรามา

สอนเขียนโปรแกรมมาหลายตอน ช่วงนี้เลยย้อนมาสอนวิธีการทำภาพพาโนรามาจากภาพถ่ายธรรมดา พร้อมทั้งการทำแอนิเมต ด้วย Adobe Flash คลิกเข้าไปดูแล้วทำตามได้เลย แต่ต้องมี Adobe Photoshop กับ Adobe Flash ด้วยล่ะ

"I Believe in You"

Copyright(c) 2007 - 2022 by Kasem Kamolchaipisit.