Bestsellers Computer Products

September 12, 2009

ASP.NET Development Books

September 20, 2008

ASP.NET 2.0 AJAX Guide with Visual Studio 2005 by RidDick. บทที่ 1

July 30, 2008

เริ่มต้นกับ ASP.NET 2.0 AJAX
1. ดาวน์โหลด ASP.NET AJAX Extensions 1.0 ที่ http://www.asp.net/ajax/downloads/
2. ติดตั้ง ASP.NET AJAX Extensions 1.0

ขั้นตอนการติดตั้งคงไม่ต้องอธิบายอะไรมากมายนะครับ ไม่มีอะไรยากเกินกว่าที่เราจะทำได้อยู่แล้ว
3. ทดสอบการใช้งาน ASP.NET 2.0 AJAX
3.1 สร้าง Web Site Project ใหม่ โดยเลือก ASP.NET AJAX-Enabled Web Site

3.2 นำ Control มาวางดังภาพ

3.3 เพิ่มคำสั่งใน Button1_Click

3.4 ทดสอบการทำงานของ Web Page

เมื่อคลิกที่ Button แล้วสามารถทำงานก็ถือว่าการทดสอบ AJAX เสร็จสมบูรณ์แล้วครับ


วิธีการแก้ปัญหาเมื่อ Login ไม่ได้

July 30, 2008

1. กำหนดสิทธิโฟลเดอร์ App_Data ให้สามารถเขียนได้

2. ปิด VS2005+IE+Service(IIS,Sql Express,www) ลบไฟล์ใน F:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files

3. ลองทดสอบดูอีกครั้ง หากยังไม่ได้ ลองหาวิธีอื่น

:)


Class สำหรับติดต่อฐานข้อมูล MS Access Files

July 28, 2008

Imports System.Data
Imports System.Data.OleDb
Public Class ClassAccess
    Public Strcon As String
    Dim PV As String = “Provider=Microsoft.Jet.OLEDB.4.0;”
    Dim m_DBPath As String = “C:\Inetpub\wwwroot\CarManagement\App_Data\DB.mdb”
    Dim m_Password As String = “passwordmdb”
    Dim m_Identity As Integer
    Public ReadOnly Property Identity() As Integer
        Get
            Return m_Identity
        End Get
    End Property
    Public Sub New()
        If Dir(m_DBPath) = “” Then
            Err.Raise(60001, , “Database File : ” & m_DBPath & ” Database not found”)
            Exit Sub
        End If
        Strcon = PV & “data source=” & m_DBPath & “;Jet OLEDB:Database Password=” & m_Password
    End Sub
    Public Function GetDataset(ByVal Strsql As String, _
        Optional ByVal DatasetName As String = “Dataset1″, _
        Optional ByVal TableName As String = “Table1″) As DataSet
        Dim DA As New OleDbDataAdapter(Strsql, Strcon)
        Dim DS As New DataSet(DatasetName)
        Try
            DA.Fill(DS, TableName)
        Catch x1 As Exception
            Err.Raise(60002, , x1.Message)
        End Try
        Return DS
    End Function
    Public Function GetDataTable(ByVal Strsql As String, _
         Optional ByVal TableName As String = “Table1″) As DataTable
        Dim DA As New OleDbDataAdapter(Strsql, Strcon)
        Dim DT As New DataTable(TableName)
        Try
            DA.Fill(DT)
        Catch x1 As Exception
            Err.Raise(60002, , x1.Message)
        End Try
        Return DT
    End Function
    Public Function CreateCommand(ByVal Strsql As String) As OleDbCommand
        Dim cmd As New OleDbCommand(Strsql)
        Return cmd
    End Function
    Public Function Execute(ByVal Strsql As String, Optional ByVal IdentityCheck As Boolean = False) As Integer
        Dim cmd As New OleDbCommand(Strsql)
        Dim X As Integer = Me.Execute(cmd, IdentityCheck)
        Return X
        Return Strsql
    End Function
    Public Function Execute(ByRef Cmd As OleDbCommand, Optional ByVal IdentityCheck As Boolean = False) As Integer
        Dim Cn As New OleDbConnection(Strcon)
        Cmd.Connection = Cn
        Dim X As Integer
        Try
            Cn.Open()
            m_Identity = 0
            X = Cmd.ExecuteNonQuery()
            If IdentityCheck = True Then
                Dim cmd3 As New OleDbCommand(“select @@identity”, Cn)
                m_Identity = cmd3.ExecuteScalar
            End If
        Catch
            X = -1
        Finally
            Cn.Close()
        End Try
        Return X
    End Function
    Public Sub CreateParam(ByRef Cmd As OleDbCommand, ByVal StrType As String)
        ‘T:Text, M:Memo, Y:Currency, D:Datetime, I:Integer, S:Single, B:Boolean
        Dim i As Integer
        Dim j As String
        For i = 1 To Len(StrType)
            j = UCase(Mid(StrType, i, 1))
            Dim P1 As New OleDbParameter()
            P1.ParameterName = “@P” & i
            Select Case j
                Case “T”
                    P1.OleDbType = OleDbType.VarChar
                Case “M”
                    P1.OleDbType = OleDbType.LongVarChar
                Case “Y”
                    P1.OleDbType = OleDbType.Currency
                Case “D”
                    P1.OleDbType = OleDbType.Date
                Case “I”
                    P1.OleDbType = OleDbType.Integer
                Case “S”
                    P1.OleDbType = OleDbType.Decimal
                Case “B”
                    P1.OleDbType = OleDbType.Boolean
            End Select
            Cmd.Parameters.Add(P1)
        Next
    End Sub
End Class


Class สำหรับติดต่อฐานข้อมูล Sql Database Files

July 28, 2008

Imports System.Data.SqlClient
Imports System.Data
Public Class SQLCONN
Dim PV As String = “data source=.\SQLEXPRESS;”
Dim m_Database As String = “|DataDirectory|database.mdf;”
Public Strcon As String
Dim m_Identity As Integer

Public ReadOnly Property Identity() As Integer
Get
Return m_Identity
End Get
End Property

Public Sub New()
Strcon = PV & “Integrated Security=SSPI;AttachDBFilename=” & m_Database & “User Instance=true”
End Sub

Public Function GetDataset(ByVal Strsql As String, _
Optional ByVal DatasetName As String = “Dataset1″, _
Optional ByVal TableName As String = “Table”) As DataSet
Dim DA As New SqlDataAdapter(Strsql, Strcon)
Dim DS As New DataSet(DatasetName)
Try
DA.Fill(DS, TableName)
Catch x1 As Exception
Err.Raise(60002, , x1.Message)
End Try
Return DS
End Function

Public Function GetDataTable(ByVal Strsql As String, _
Optional ByVal TableName As String = “Table”) As DataTable
Dim DA As New SqlDataAdapter(Strsql, Strcon)
Dim DT As New DataTable(TableName)
Try
DA.Fill(DT)
Catch x1 As Exception
Err.Raise(60002, , x1.Message)
End Try
Return DT
End Function

Public Function CreateCommand(ByVal Strsql As String) As SqlCommand
Dim cmd As New SqlCommand(Strsql)
Return cmd
End Function

Public Function Execute(ByVal Strsql As String, Optional ByVal IdentityCheck As Boolean = False) As Integer
Dim cmd As New SqlCommand(Strsql)
Dim X As Integer = Me.Execute(cmd, IdentityCheck)
Return X
End Function

Public Function Execute(ByRef Cmd As SqlCommand, Optional ByVal IdentityCheck As Boolean = False) As Integer
Dim Cn As New SqlConnection(Strcon)
Cmd.Connection = Cn
Dim X As Integer
Try
Cn.Open()
X = Cmd.ExecuteNonQuery()
If IdentityCheck = True Then
Dim cmd3 As New SqlCommand(“select @@identity”, Cn)
m_Identity = cmd3.ExecuteScalar
End If
Catch
X = -1
Finally
Cn.Close()
End Try
Return X
End Function

Public Sub CreateParam(ByRef Cmd As SqlCommand, ByVal StrType As String)
‘T:Text, M:Memo, Y:Currency, D:Datetime, I:Integer, S:Single, B:Boolean, P: Picture
Dim i As Integer
Dim j As String
For i = 1 To Len(StrType)
j = UCase(Mid(StrType, i, 1))
Dim P1 As New SqlParameter
P1.ParameterName = “@P” & i
Select Case j
Case “T”
P1.SqlDbType = SqlDbType.VarChar
Case “M”
P1.SqlDbType = SqlDbType.Text
Case “Y”
P1.SqlDbType = SqlDbType.Money
Case “D”
P1.SqlDbType = SqlDbType.DateTime
Case “I”
P1.SqlDbType = SqlDbType.Int
Case “S”
P1.SqlDbType = SqlDbType.Decimal
Case “B”
P1.SqlDbType = SqlDbType.Bit
Case “P”
P1.SqlDbType = SqlDbType.Image
End Select
Cmd.Parameters.Add(P1)
Next
End Sub
End Class


10 เทคนิคการรักษาความปลอดภัยข้อมูลคอมพิวเตอร์อย่างง่ายด้วยตนเอง

May 29, 2008

10 เทคนิคการรักษาความปลอดภัยข้อมูลคอมพิวเตอร์อย่างง่ายด้วยตนเอง

เราต้องยอมรับว่าทุกวันนี้การดำเนินชีวิตประจำวันของคนไทยมีความเกี่ยวพันกับระบบสารสนเทศและระบบอินเทอร์เน็ตอยู่ตลอดเวลาไม่ว่าจะเป็น การใช้โทรศัพท์มือถือ, การค้นหาข้อมูลในระบบอินเทอร์เน็ตจากเว็บไซต์ต่างๆ, การใช้อิเล็กทรอนิกส์เมล์ในการติดต่อสื่อสารกันระหว่างเพื่อนฝูง ญาติมิตร และใช้ในการติดต่องานระหว่างองค์กรทั้งภาครัฐและเอกชน สิ่งที่ตามมาก็คือสถิติอาชญากรรมคอมพิวเตอร์ที่มีการใช้งานอินเทอร์เน็ตเป็นสื่อกลางในการติดต่อก็มีสถิติเพิ่มขึ้นเป็นเงาตามตัวเช่นกัน

ข้อมูล 10 อันดับภัยอินเทอร์เน็ตล่าสุดประจำปี พ.ศ. 2551 จากงานอบรมการป้องกันความปลอดภัยข้อมูลคอมพิวเตอร์ครั้งที่ 7 (CDIC2007) ภัยอินเทอร์เน็ตได้มีการเปลี่ยนแปลงปรับปรุงรูปแบบวิธีการโดยการใช้เทคนิคใหม่ๆ ในการโจมตีเป้าหมาย ซึ่งเป้าหมายหลักของเหล่าแฮกเกอร์กลับไม่ใช่ระบบคอมพิวเตอร์ที่เราใช้อยู่แต่เป็นตัวบุคคลเองที่กลายเป็นเป้าหมายหลักในการโจมตีด้วยวิธีการยอดนิยมที่เรียกว่า “Social Engineering” หรือ การใช้หลักจิตวิทยาในการหลอกล่อเหยื่อให้หลงเชื่อในข้อความหลอกลวงผ่านทางเว็บไซต์หรือ อิเล็กทรอนิกส์เมล์ ดังนั้น การให้ความรู้แก่ผู้ใช้งานคอมพิวเตอร์ทั่วไปสำหรับองค์กรที่เรียกว่า “Information Security Awareness Program” นั้นถือเป็นเรื่องสำคัญอย่างยิ่งยวด” ดังนั้นผมจึงขอนำเสนอ 10 เทคนิคการรักษาความปลอดภัยข้อมูลคอมพิวเตอร์อย่างง่ายด้วยตนเอง เพื่อเป็นภูมิคุ้มกันในการป้องกันเบื้องต้นไว้ดังนี้ครับ

1. สำหรับผู้ใช้ Windows XP หรือ Windows Vista ควรรีบติดตั้ง Service Pack ล่าสุดอยู่เสมอ

การติดตั้ง Service Pack ล่าสุดนั้นสามารถช่วยปิดช่องโหว่ต่าง ๆ ที่มีอยู่ได้อย่างมีประสิทธิผล ทำให้เครื่องของเรารอดพ้นจากภัยอินเทอร์เน็ตในหลากหลายรูปแบบได้ในระดับหนึ่ง ดังนั้นเราควรติดตั้ง Service Pack ล่าสุด ทันทีที่มีโอกาส แนะนำว่า ควรติดตั้ง Service Pack จากแผ่น CD-ROM ของ Microsoft โดยตรงจะดีที่สุดเพราทั้งสมบูรณ์ และ ปลอดภัย แต่ถ้าไม่มี CD-ROM ก็ให้ download ได้ที่ http://download.microsoft.com

2. ควรติดตั้ง Patch หลังจากติดตั้ง Windows XP หรือ Windows Vista แบบอัตโนมัติ และ Update Virus and Mal Ware Signature แบบอัตโนมัติเช่นกัน โดยการตั้งค่าใน Security Setting ที่ Control Panel ให้เป็น “Automatic Updateแต่ถ้าเราปิดเครื่องไว้เป็นเวลาหลายวัน ให้รีบเข้าไป download ที่ www.windowsupdate.com ทันทีที่เราเปิดเครื่อง เพราะ “Window Update” อาจช้ากว่าการที่เราเข้าไป download ด้วยตัวเองที่ www.windowsupdate.com เนื่องจาก Microsoft จะออก Patch ทุกวันอังคารที่ 2 ของเดือนแล้วก็อย่าลืม Update Signature ให้กับโปรแกรม ANTI-VIRUS และ ANTI-SPYWARE แบบอัตโนมัติด้วย เพื่อให้โปรแกรมรู้จัก VIRUS และ SPYWARE ใหม่ ๆ ที่เกิดขึ้นด้วย

3. ระวัง Attached File นามสกุลแปลก ๆ รวมทั้ง ZIP File ที่อาจเป็นพาหะของไวรัสคอมพิวเตอร์
ให้ตรวจเช็คนามสกุลของ Attached File ก่อนว่าเป็นนามสกุลไฟล์ ที่อาจก่อให้เกิดอันตรายกับเครื่องคอมพิวเตอร์ของเราหรือไม่ ซึ่งผมได้รวบรวมมาให้แล้ว ดังนี้ ADB, ADP, BAS, BAT, CHM, CMD, COM, CPL, CRT, EXE, HLP, HTA, INF, INS, ISP, JS, JSE, LNK, MDB, MDE, MSC, MSI, MSP, MST, PCD, PIF, REG, SCR, SCT, SHS, URL, VB, VBE, VBS, WSC, WSF และ WSH สำหรับไฟล์นามสกุล .ZIP หรือ .RAR ที่เราใช้กันโดยทั่วไปนั้น ไวรัสคอมพิวเตอร์ส่วนใหญ่นิยมใช้เป็นพาหะในการส่งตัวไวรัสเข้ามาทาง Attached File วิธีการสังเกตคือ ให้ดู Email Subject ว่าดูแปลก ๆ หรือไม่ แม้ Email นั้นจะมาจากชื่อของคนที่เรารู้จักดีก็ตาม เครื่องของเขาอาจติดไวรัสไปแล้วหรืออาจเป็นการปลอม Email จากแฮกเกอร์ก็เป็นได้ เราควรหมั่นอ่านข่าวไวรัสตัวใหม่ ๆ เพื่อให้เกิดความรู้ความเข้าใจเทคนิคของไวรัส

4. ตั้งค่าให้ Windows XP แสดงนามสกุลของไฟล

ไวรัสคอมพิวเตอร์บางตัว อาจหลอกผู้ใช้คอมพิวเตอร์ให้เกิดความเข้าใจผิดเห็นไฟล์อันตรายเป็นไฟล์ปกติได้ โดยการหลอกที่นามสกุลของไฟล์ เช่น Picture1.jpg.exe เราอาจเข้าใจว่าเป็นไฟล์นามสกุล .JPG แต่แท้จริงแล้วเป็นไฟล์นามสกุล .EXE แต่เนื่องจาก โดยปกติแล้ว Windows จะไม่แสดงนามสกุลของไฟล์ ดังนั้นเราอาจเผลอเปิดไฟล์เหล่านี้โดยไม่ระวังก็เป็นได้ เราจึงควรกำหนดให้ Windows แสดงนามสกุลของไฟล์ เพื่อให้เราสามารถสังเกตนามสกุลของไฟล์ได้อย่างชัดเจนขึ้น โดยตั้งค่า Windows Explorer ที่เมนู Tools -> Folder Options -> View ให้ Clear Check Box “Hide extensions for known file types” ก็เป็นอันเรียบร้อยแล้วครับ

5. ตั้งค่าใน Outlook ให้จัดการกับ SPAM Mail และอ่าน Email ในลักษณะเป็นข้อความ (Text Format)
เราสามารถตั้งค่าในโปรแกรม Outlook ให้จัดการกับ Junk Mail หรือ Spam Mail ได้ เพื่อลดปัญหา Spam และ เพื่อเป็นการป้องกัน Malicious Code ที่อาจมากับ Email Body ในรูปของ Link ที่ซ่อนมากับไฟล์รูปภาพ เราควรตั้งค่าให้ Email ถูกแสดงเป็น Text Format โดยเข้าไปที่เมนู Tools -> Options -> Preference -> E-mail -> E-mail Options เลือก “Read all standard mail in plain text” จากนั้นให้เราคอยสังเกตว่า Email Body มีการ Link ไปยัง Web ที่แปลก ๆ หรือไม่ ถ้าสังเกตพบก็อย่า Click Link เหล่านั้น และ ให้ลบ E-mail นั้นไปเลยจะปลอดภัยที่สุด

6. ระวังไฟล์ที่ download จาก Instant Messenger (IM) เช่น MSN หรือ ICQ และ การ SPAM ผ่าน IM ที่เรียกว่า SPIM (SPAM IM) การใช้ IM หรือ Instant Messenger นั้นมีข้อดีในการโต้ตอบแบบทันใจ (Real Time) โดยเฉพาะสำหรับคนชอบ “Chat” แต่ปัญหาก็คือ บางครั้งคู่สนทนาของเรามีการส่งไฟล์บางอย่างมาให้เราด้วย ซึ่งบางทีก็อาจจะไม่ใช่ไฟล์ที่ถูก Upload มาจากคู่สนทนาของเราโดยตรง แต่กลับมาจากไวรัสคอมพิวเตอร์ที่ทำงานอยู่บนเครื่องของคู่สนทนาเราที่ติดไวรัสแล้ว ดังนั้น เราควรระวังไฟล์ที่มากับ IM เป็นพิเศษ อาจจะใช้วิธีโทรเช็คก่อน แต่ทางที่ดีไม่ควรจะ download ไฟล์ผ่านทาง IM จะดีที่สุดครับ

7. ระวังการตกเบ็ด (Phishing Link) จากข้อความใน Email หรือ URL Link จากข้อความทาง Instant Massaging บางครั้งผู้ไม่หวังดีหรือแฮกเกอร์มักจะส่ง Email มาหลอกผู้ใช้บริการอินเทอร์เน็ตแบงก์กิ้ง หรือ บริการออนไลน์ต่าง ๆ ว่า Account ของผู้ใช้กำลังมีปัญหาต้องรีบ “Logon” เข้าไปใน Web Site เพื่อ ยืนยัน “Username” และ “Password” เมื่อเราหลงกลทำการคลิก Link ที่อยู่ใน Email หรือใน Instant Messaging แล้ว Link นั้นก็จะพาเข้าไปใน Web Site ที่ได้ทำหลอกไว้ซึ่งอาจมีหน้าตาเหมือนกับ Web Site ของจริงทุกประการเลยก็ว่าได้ ซึ่งเมื่อเราทำการ “Logon” จึงเท่ากับว่าเราไปบอก Username และ Password ให้กับผู้ไม่หวังดี ซึ่งท่านก็คงพอเดาได้ว่าจะเกิดความเสียหายอะไรตามมาบ้าง ดังนั้น จึงเป็นเรื่องจำเป็นที่เราควรระมัดระวังในการคลิก Link ต่าง ๆ

8. ระวัง Malicious Cookies จาก Web Site บาง Site ที่เราเข้าไปเยี่ยมชม การรับ Cookies File เข้ามาเก็บในเครื่องของเรานั้น บางครั้งอาจทำให้เกิดช่องโหว่ให้กับระบบและทำให้เราถูกติดตามพฤติกรรมในการใช้งานอินเทอร์เน็ตโดยไม่รู้ตัว (Internet Tracking) ดังนั้น เราควรตั้งค่าให้ IE Browser ถามเราก่อนว่า เราต้องการรับ Cookies หรือไม่ เพื่อที่จะไม่ต้องตกเป็นเหยื่อของเหล่า Spy Ware และผู้ไม่หวังดีที่จ้องขโมยข้อมูลส่วนตัวของเรา วิธีการตั้งค่าให้เรียก IE Browser แล้วไปที่เมนู Tools -> Internet Options -> Privacy -> Advanced -> Cookies -> เลือก Prompt

9. อย่ารับ ActiveX Control โดยไม่จำเป็น เราควรตั้งค่าใน IE Browser ให้ปลอดภัยจากการรับ ActiveX Control โดยไปที่เมนู Tools -> Internet Options -> Security -> Custom Level -> เลือก Reset to High แล้ว Click Reset -> Yes -> OK หลังจากนั้น IE Browser ของเราจะปลอดภัยมาก ขึ้น แต่จะมีข้อความขึ้นมาถามเราเป็นระยะ ๆ ซึ่งอาจก่อให้เกิดความรำคาญบ้าง เราคงต้องทนกับ POP-UP ที่ถามเราอยู่เรื่อย ๆ แต่ก็เป็นการแลกกับความปลอดภัยที่เพิ่มขึ้นให้กับเครื่องคอมพิวเตอร์ของเรา

10. ตรวจสอบการเรียกโปรแกรมมุ่งร้าย (Mal Ware) ที่ทำงานโดยอัตโนมัติ หลังจากการเปิดเครื่อง
เราสามารถตรวจสอบโปรแกรมมุ่งร้าย (Mal Ware) บางโปรแกรมที่เรียกตัวเองโดยอัตโนมัติซึ่งส่วนใหญ่แล้ว เป็นโปรแกรมประเภท ไวรัส หรือ สปายแวร์ โดยการไปที่เมนู Start -> Run -> เรียกโปรแกรม “msconfig” จากนั้นไปที่เมนู Startup ก็จะเห็นรายการโปรแกรมที่ถูกเรียกขึ้นมาทำงานโดยอัตโนมัติ หลังจากการเปิดเครื่อง ซึ่งเราสามารถจะ Enable หรือ Disable ได้ โดยการเลือก Clear Check Box ข้างหน้า

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


โชคดีได้เครื่องยนต์ใหม่

April 10, 2008

ถึงช่วงเวลาที่โชคดีได้เครื่องยนต์ใหม่ 555

 


ตัวอย่างการติดต่อฐานข้อมูล MS Access

February 20, 2008

ตัวอย่างการติดต่อฐานข้อมูล MS Access โดยใช้ Dataset

<%Import Namespace=”System.Data”%>

<%Import Namespace=”System.Data.OleDb”%>

<html>

<body>

<script language=”VB” runat = “server”>

Sub Page_Load(Sender As Object, E As EventArgs)

Dim Conn As new OleDbConnection (“Provider=Microsoft.Jet.OLEDB.4.0 ; Data Source=f:\inetpub\wwwroot\a.mdb”)

Dim Mydatasql As New OleDbDataAdapter(“Select * from member”,Conn)

Dim ds As new Dataset()

Mydatasql.Fill(ds,”Detail1″)

Name1.Datasource=ds.Tables(“Detail1″)

Name1.Databind()

End Sub

</script>

<asp:Datagrid id=”Name1″ runat = “server”/>

</body>

</html>

ตัวอย่างการติดต่อฐานข้อมูล MS Access โดยใช้ Datareader

<%Import Namespace=”System.Data”%>

<%Import Namespace=”System.Data.OleDb”%>

<html>

<body>

<script language=”VB” runat = “server”>

Sub Page_Load(Sender As Object, E As EventArgs)

Dim Conn As new OleDbConnection (“Provider=Microsoft.Jet.OLEDB.4.0 ; Data Source=” & Server.MapPath(“\a.mdb”))

Dim MydataSource=Mydatasql As new OleDbCommand(“Select * From Member”,Conn)

Name1.DataSource=Mydatasql.ExecuteReader()

Name1.Databind()

Conn.Close()

End Sub

</script>

<asp:Datagrid id=”Name1″ runat = “server”/>

</body>

</html>


การแยกประโยคคำสั่ง

February 1, 2008
การแยกประโยคคำสั่ง
     ในการเขียน ASP.NET เราสามารถเลือกเขียนสคริปต์ ภายใน 1ไฟล์ ได้มากกว่า 1ภาษา เช่น ใช้ VB และ C# รวมกัน แต่มีข้อแม้ว่าต้องแยกแยะ ให้ชัดเจนว่าคำสั่งไหนเป็นของภาษา VB คำสั่งไหนเป็นของภาษา C#

การแยกประโยคคำสั่ง
     เมื่อมีประโยคคำสั่งมากกว่า 1 ประโยค เราสามารถที่จะแยกประโยคคำสั่งเหล่านั้นได้โดย ไม่ทำให้การทำงานเกิดผิดพลาด การแยกประโยคคำสั่งของแต่ละภาษามีหลักการดังนี้

ภาษา หลักการแยกประโยคคำสั่ง ตัวอย่างการใช้งาน
C# ใช้เครื่องหมาย ; ในการแยกประโยคคำสั่ง <% int x ; int y %>
VB ใช้เครื่องหมาย : และการขึ้นบรรทัดใหม่
ในการแยกประโยคคำสั่ง
<% Dim x As Integer : Dim y As Interger %>
หรือ
<% Dim x As Integer
        Dim y As Interger %>
JScript ใช้เครื่องหมาย ; และการขึ้นบรรทัดใหม่
ในการแยกประโยคคำสั่ง
<% var x : int ; var y : int %>
หรือ
<% var x : int
        var y : int %>

การเขียนหมายเหตุ
     ในการเขียนโปรแกรมยาวๆ บางครั้งเราต้องใส่หมายเหตูลงไปในบรรทัดสำคัญของโปรแกรมว่าส่วนั้นๆทำหน้าที่อะไร เพื่อประโยชน์ในการ แก้ไขและการศึกษา รวมทั้งกันลืมด้วย ในการเขียนหมายเหตุของแต่ล่ะภาษาก็จะมีรูปแบบที่แตกต่างกันไปดังนี้

ภาษา รูปแบบ
C# <SCRIPT LANGUAGE = “C#” runat = “server”>
// นี่คือการเขียนหมายเหตุของ C#
</SCRIPT>

<SCRIPT LANGUAGE = “C#” runat = “server”>
/* นี่คือการเขียนหมายเหตุของ C#
แบบหลายบรรทัด */
</SCRIPT>

VB <SCRIPT LANGUAGE = “VB” runat = “server”>
‘ นี่คือการเขียนหมายเหตุของ VB
</SCRIPT>
JScript <SCRIPT LANGUAGE = “JScript” runat = “server”>
// นี่คือการเขียนหมายเหตุของ JScript
</SCRIPT>

<SCRIPT LANGUAGE = “JScript” runat = “server”>
/* นี่คือการเขียนหมายเหตุของ JScript
แบบหลายบรรทัด */
</SCRIPT>