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 > สอบถามปัญหาคำสั่ง เกี่ยวกับการเชื่อต่อฐาน MS SQL 2008 มันติดตรงนี้อะครับ da.Fill(ds, "MemberType")



 

สอบถามปัญหาคำสั่ง เกี่ยวกับการเชื่อต่อฐาน MS SQL 2008 มันติดตรงนี้อะครับ da.Fill(ds, "MemberType")

 



Topic : 051733



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



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



ตรงนี้ครับ

ทำยังไง ผมก้อเขียนว่งมันถูกนะครับมันบอกว่า ไวยากรณ์ไม่ถูกต้องใกล้'ตาม'คำหลัก



Tag : .NET, Ms SQL Server 2008, Win (Windows App), VB.NET







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2010-11-16 10:14:07 By : pisansri View : 2439 Reply : 65
 

 

No. 1



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

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

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

เขียนถูกครับ แต่การต่อ String ของคุณผิดน่ะครับ เมื่อคุณลองต่อ String และ Debug ดูจะเห็นค่าคำสั่ง SQL มันติดกันยาวววว โดยไม่เว้นวรรคน่ะครับ เพราะฉะนั้นควรจะวรรค ในแต่ละบบรรทัดก่อนใส่เครื่องหมาย "






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-16 10:37:45 By : webmaster
 


 

No. 2



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



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

ตรงไหนหรอ ครับ ผมยังไม่เข้าใจ มือใหม่อยู่ครับ ขออภัย
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-16 11:57:19 By : pisansri
 

 

No. 3



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

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

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

ตรง SQL น่ะครับ คราวหลังให้ Copy Code มาด้วย น่ะครับ จะได้ตอบกลับง่ายหน่อย

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-16 12:02:14 By : webmaster
 


 

No. 4



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



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

Code (VB.NET)
Option Explicit On
Option Strict On
Imports System.Data
Imports System.Data.SqlClient
Imports System.Globalization
Imports System.Drawing.Printing



Public Class frmMember
    Inherits System.Windows.Forms.Form
    Dim Conn As SqlConnection = New SqlConnection
    Dim da As SqlDataAdapter 
    Dim ds As DataSet = New DataSet
    Dim dt As DataTable

    Dim Tody As Date

    Dim CurrentRecord As Integer = 0
    Dim Recordcount As Integer = 0


    Dim UseFont As New Font("MS Sans Serif", 10)

    Dim prDoc As PrintDocument = New PrintDocument
    Private prDlg As PrintDialog = New PrintDialog


    Dim ActionFlag As String = ""
    Dim LastRevenueID As String = ""
    Dim Dtflnfo As DateTimeFormatInfo

    Dim IsFind As Boolean = False


    Private Sub frmMember_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.WindowState = FormWindowState.Maximized

        Cursor.Current = Cursors.WaitCursor

        Dim strConn As String 
        strConn = "Data Source=.\SQLEXPRESS;Initial Catalog=Business Rule;Integrated Security=True"
        'strConn = "Data Source=.\PARKCG;Initial Catalog=Business Rule;Integrated Security=True"
        'strConn = "Data Source=.\SQLEXPRESS;AttachDbFilename='C:\Program Files\" & _
        '"Microsoft SQL Server\MSSQL10.SQL SERVER\MSSQL\DATA\Business Rule.mdf';" & _
        '"Integrated Security=True;Connect Timeout=30;User Instance=True"



      With Conn

            If .State = ConnectionState.Open Then .Close()
            .ConnectionString = strConn
            .Open()
        End With


        Dim sqlMemberType As String = " "
        sqlMemberType = "SELECT MemberTypeID,MemberTypeName"


        sqlMemberType &= "FROM MemberType"


        sqlMemberType &= "ORDER BY MemberTypeID"


        da = New SqlDataAdapter(sqlMemberType, Conn)

        da.Fill(ds, "MemberType")

        If ds.Tables("MemberType").Rows.Count <> 0 Then
            With cboMemberType
                .DataSource = ds.Tables("MemberType")
                .DisplayMember = "MemberTypeName"
                .ValueMember = "MemberTypeID"

            End With



            'ShowMemberDetail()
            'FormatDataGridWithData()

        End If

        Dim sqlBranch As String = ""


        sqlBranch = "SELECT*FROM Branch ORDER BY BranchID"

        da.SelectCommand.CommandText = sqlBranch
        da.Fill(ds, "Branch")


        If ds.Tables("Branch").Rows.Count <> 0 Then
            With cboSearchBranch
                .DataSource = ds.Tables("Branch")
                .DisplayMember = "BranchName"
                .ValueMember = "BranchID"
            End With
        End If

        With cboSearch
            .Items.Add("รหัสสมาชิก")
            .Items.Add("=ชื่อ-สกุล")
            .SelectedIndex = 0
        End With
        'LockAllCtrl()

        Today = Date.Now
        'dtpAdmitDate.Value = Today
        '
        'Dtflnfo =DateTime format Info.Invaris








    End Sub
End Class

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-16 13:16:40 By : pisansri
 


 

No. 5



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



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

ผิดตรงไหนครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-16 13:17:26 By : pisansri
 


 

No. 6



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

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

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

จาก code ถ้าคุณ debug ดูมันจะได้

SELECT MemberTypeID,MemberTypeNameFROM MemberTypeORDER BY MemberTypeID


ให้วรรคด้วยน่ะครับ

Dim sqlMemberType As String = " "
sqlMemberType = "SELECT MemberTypeID,MemberTypeName "
sqlMemberType &= "FROM MemberType "
sqlMemberType &= "ORDER BY MemberTypeID "

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-16 13:27:50 By : webmaster
 


 

No. 7



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



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

มันเว้นยังไงครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-16 14:03:15 By : pisansri
 


 

No. 8



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



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


spec
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-16 14:11:03 By : base3000
 


 

No. 9



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

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

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


นี่แหละครับที่อยากถามมาก แต่ไม่มีคนตอบให้เข้าใจได้สักที

ว่ามัน Debug ยังไง ถึงเห็นว่ามันทำอะไรอยู่อ่ะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-16 14:11:36 By : zixsenz
 


 

No. 10



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



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

ได้เเล้วครับ ขอบคุณครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-16 14:17:42 By : pisansri
 


 

No. 11



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



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


ตอบความคิดเห็นที่ : 9 เขียนโดย : zixsenz เมื่อวันที่ 2010-11-16 14:11:36
รายละเอียดของการตอบ ::
เวลาขึืนกล่องข้อความ หรือ Breakpoints เอาไว้ ให้เอา Mouse ไปทาบไว้ตรงจุดที่ต้องการ
มีประโยน์ชหลายอย่าง สามารถดูค่าของตัวแปลได้ ฯลฯ
หรือที่หน้าต่าง Autos ด้านล่างก็ได้

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-16 15:08:26 By : base3000
 


 

No. 12



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



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

มันติดตรงนี้ครับ มันผิดที่ไหนครับ


ff
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-16 16:55:56 By : pisansri
 


 

No. 13



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



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

Option Explicit On
Option Strict On
Imports System.Data
Imports System.Data.SqlClient
Imports System.Globalization
Imports System.Drawing.Printing
Public Class Land

Inherits System.Windows.Forms.Form
Dim Conn As SqlConnection = New SqlConnection
Dim da As SqlDataAdapter
Dim ds As DataSet = New DataSet
Dim dt As DataTable

Dim Tody As Date

Dim CurrentRecord As Integer = 0
Dim Recordcount As Integer = 0


Dim UseFont As New Font("MS Sans Serif", 10)

Dim prDoc As PrintDocument = New PrintDocument
Private prDlg As PrintDialog = New PrintDialog


Dim ActionFlag As String = ""
Dim LastRevenueID As String = ""
Dim Dtflnfo As DateTimeFormatInfo

Dim IsFind As Boolean = False

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

Dim strConn As String
strConn = "Data Source=.\SQLEXPRESS;Initial Catalog=SSPEGIS;Integrated Security=True"
'Dim dbConn As OleDbConnection = New OleDbConnection( _
'"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\db2.mdb")



With Conn

If .State = ConnectionState.Open Then .Close()
.ConnectionString = strConn
.Open()
End With

Dim sqlland As String = ""

sqlland = "SELECT LANDID FROM land ORDER BY LANDID"




da = New SqlDataAdapter(sqlland, Conn)

da.Fill(ds, "land")

If ds.Tables("land").Rows.Count <> 0 Then


'นำคอนโทรลเท็กซ์บ็อกซ์บนฟอร์มมาผูกกับข้อมูลในแต่ละฟีลด์ของ datatable
txtPARCEL_CODE.DataBindings.Add("Text", ds, "land.PARCEL_CODE")
txtTAMBON_TH.DataBindings.Add("Text", ds, "land.TAMBON_TH")
txtDISTRICT_TH.DataBindings.Add("Text", ds, "land.DISTRICT_TH")
txtPROVINCE_TH.DataBindings.Add("Text", ds, "land.PROVINCE_TH")
txtUTM_CODE.DataBindings.Add("Text", ds, "land.UTM_CODE")
txtUTM_NO.DataBindings.Add("Text", ds, "land.UTM_NO")
txtUTM_PAGE.DataBindings.Add("Text", ds, "land.UTM_PAGE")
'txtUSED_DESC.DataBindings.Add("Text", dtTable, "USED_DESC")
'txtLDOC_TYPE.DataBindings.Add("Text", dtTable, "LDOC_TYPE")
'txtL_UTILIZATION.DataBindings.Add("Text", dtTable, "L_UTILIZATION")
txtSURVEY_NO.DataBindings.Add("Text", ds, "land.SURVEY_NO")
'txtLDOC_NO.DataBindings.Add("Text", dtTable, "USED_DESC")
txtLAND_NO.DataBindings.Add("Text", ds, "land.LDOC_NO")
txtDOL_RAI.DataBindings.Add("Text", ds, "land.DOL_RAI")
txtDOL_NGAN.DataBindings.Add("Text", ds, "land.DOL_NGAN")
txtDOL_WA.DataBindings.Add("Text", ds, "land.DOL_WA")
txtTAXED_RAI.DataBindings.Add("Text", ds, "land.TAXED_RAI")
txtTAXED_NGAN.DataBindings.Add("Text", ds, "land.TAXED_NGAN")
txtTAXED_WA.DataBindings.Add("Text", ds, "land.TAXED_WA")
txtLANDID.DataBindings.Add("Text", ds, "land.LANDID")

End If
End Sub


Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click
Dim sqlupdate As String
'Dim sqladd As String
sqlupdate = "update product "
sqlupdate &= " set PARCEL_CODE = '" & txtPARCEL_CODE.Text & "',"
sqlupdate &= " TAMBON_TH= '" & txtTAMBON_TH.Text & "',"
sqlupdate &= " DISTRICT_TH= " & Val(txtDISTRICT_TH.Text) & ","
sqlupdate &= " PROVINCE_TH= " & Val(txtPROVINCE_TH.Text) & ""
sqlupdate &= " UTM_CODE = '" & txtUTM_CODE.Text & "'"



End Sub

End Class
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-16 16:56:19 By : pisansri
 


 

No. 14



โพสกระทู้ ( 1,348 )
บทความ ( 1 )



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


ผมว่าอย่าเสียเวลาเขียน Code Binding TextBox กับ Data เลยครับ
ใช้ความสามารถของ Visual Stdio ดีกว่า
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-16 17:07:30 By : watcharop
 


 

No. 15



โพสกระทู้ ( 1,348 )
บทความ ( 1 )



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


ลองดู Properties ของ Textbox ที่ชื่อ DataBinding
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-16 17:11:48 By : watcharop
 


 

No. 16



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

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

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

การ Debug ครับ

Go to : ASP.NET and Visual Studio 2005,2008 - Run/Debug
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-16 17:43:48 By : webmaster
 


 

No. 17



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



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


เวลา Select มีหนึ่ง Column ตารางมันก็เลยไม่รู้จะเอาอะไรมาให้ bind ซิครับ
เพราะมันมี Column ที่ชื่อว่า LANDID อันเดียว
แล้วเวลา bind นะ bind กับ BindingSource ดีกว่านะครับ มีเครื่องมือมากกว่า

Code (VB.NET)
Dim bin As New BindingSource(ds, "land")



แล้วเอา bin ไปใช้ เช่น

Code (VB.NET)
txtLANDID.DataBindings.Add("Text", bin, "LANDID")




ประวัติการแก้ไข
2010-11-16 19:01:05
2010-11-16 19:02:43
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-16 18:55:25 By : base3000
 


 

No. 18



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



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

Dim bin As New BindingSource(ds, "land") เเล้วต้องเอาอันนี้ไปไว้ตรงไหนครับ ขอโทษครับยังมือใหม่อยู่
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-17 00:37:38 By : pisansri
 


 

No. 19



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



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

ตอบความคิดเห็นที่ : 18 เขียนโดย : pisansri เมื่อวันที่ 2010-11-17 00:37:38
รายละเอียดของการตอบ ::
....ได้เเล้วครับขอบตุณมากครับ เเต่ถ้าผมอยากนำข้อมูลมากว่า หนึ่งตารางมาเเสดงใน from ให้สามารถเพิ่มลบบันทึกเเก้ไขได้ผมต้อง เขียนโค๊ดยังไงครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-17 01:31:44 By : pisansri
 


 

No. 20



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

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

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

ก็ต้อง Select มาจากหลายๆตารางครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-17 09:05:48 By : iheerman
 


 

No. 21



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



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


ผมขอแนะนำหนังสือให้ 2 เล่ม ซึ่งเป็นหนังสือที่ผมคิดว่าดี คือ
1. Visual Basic.net ของ Success media เล่มสีฟ้า เป็นพื้นฐานของ VB.net หนังสือเล่มอาจะเก่าไปหน่อย แต่เข้าใจง่ายกว่าเล่มอื่น (จากประสบการณ์ของผม แต่ทุกวันนี้ผมยังเปิดใช้มันอยู่) แต่ไม่รู้จะมีขายอยู่หรือเปล่า
2. คัมภีร์การใช้ Visual Basic 2005 ฉบับสมบูรณ์ ของ WROX พิมพ์โดย ซีเอ็ด เล่มนี้ควรอ่านเมื่อบรรลุเล่มแรก เพราะค่อนข้าง Advance มาก และมี CD ที่แถมมา มีข้อมูลอีกเพียบ
สุดท้ายนี้ขอให้พบกับความสำเร็จในการเป็นโปรแกรมเมอร์นะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-17 09:07:00 By : base3000
 


 

No. 22



โพสกระทู้ ( 1,348 )
บทความ ( 1 )



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


ถ้าคุณยัง Binding อย่างนี้
txtLAND_NO.DataBindings.Add("Text", ds, "land.LDOC_NO")
txtDOL_RAI.DataBindings.Add("Text", ds, "land.DOL_RAI")
txtDOL_NGAN.DataBindings.Add("Text", ds, "land.DOL_NGAN")
txtDOL_WA.DataBindings.Add("Text", ds, "land.DOL_WA")
txtTAXED_RAI.DataBindings.Add("Text", ds, "land.TAXED_RAI")
txtTAXED_NGAN.DataBindings.Add("Text", ds, "land.TAXED_NGAN")
txtTAXED_WA.DataBindings.Add("Text", ds, "land.TAXED_WA")
txtLANDID.DataBindings.Add("Text", ds, "land.LANDID")

ผมว่าคุณน่าจะ
1. ซื้อหนังสือมาอ่าน เพิ่มเติมความรู้พื้นฐาน
2. อยู่แถวพระโขนงรึเปล่า มาหาผมซิ จะแนะนำวิธีเบื้องต้น ให้ว่าเค้าทำกันอย่างไร ไม่คิดตังค์

เชื่อผมเถอะ เพื่อความสุขในการเขียนโปรแกรม



ประวัติการแก้ไข
2010-11-17 14:42:10
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-17 14:32:20 By : watcharop
 


 

No. 23



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



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

ขอบคุณครับ

เเต่ผมอยู่ขอนแก่น นั่นสิครับไกลมาก

ผมก้พึงหัดเขียน คราบ อ่านหนังสือผมก้อ่านไม่รู้เรื่อง ได้เเต่ หาโค๊ด จากโปรแกรม หลาย หลายตัว มาดู กัน

เย็นนี้ ผมว่าจะไปอ่านหนังสือให้เยอะเยอะ จริงๆพื้นฐาน การเขียนผมไม่มี หนังสือผมก้มีหลายเล่มเเล้วครับเเต่อ่านไม่ค่อยเข้าใจเท่าไหร่ ว่าจะหาชื้อมาอีกอยู่

เเต่เลิกงานดึกเลยไม่ได้ไป ครับ ผมอยากไดอีเมล์ พวกพี่ ไว้เเชท กัน จังเลยครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-17 19:57:17 By : pisansri
 


 

No. 24



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



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

Option Explicit On
Option Strict On
Imports System.Data
Imports System.Data.SqlClient
Imports System.Globalization
Imports System.Drawing.Printing
Public Class Land

Inherits System.Windows.Forms.Form
Dim Conn As SqlConnection = New SqlConnection
Dim da As SqlDataAdapter

Dim product As OleDb.OleDbCommand
Dim add_state As Boolean = False
Dim ds As DataSet = New DataSet
Dim dt As DataTable

Dim Tody As Date

Dim CurrentRecord As Integer = 0
Dim Recordcount As Integer = 0


Dim UseFont As New Font("MS Sans Serif", 10)

Dim prDoc As PrintDocument = New PrintDocument
Private prDlg As PrintDialog = New PrintDialog
Dim strConnString, strSQL As String
Dim objCmd As New SqlCommand
Dim objConn As New SqlConnection
Dim dspro As New DataSet


Dim dtSet As DataSet = New DataSet 'ประกาศตัวแปรแทนออบเจ็คหรือ Instance จากคลาส DataSet
Dim dtTable As DataTable 'ประกาศตัวแปรแทนออบเจ็คหรือ Instance จากคลาส DataTable
Dim objCurrencyMgr As CurrencyManager 'ประกาศตัวแปรแทนออบเจ็คหรือ Instance จากคลาส CurrencyManager
Dim currRecPos As Integer 'ประกาศตัวแปรเก็บตำแหน่งเรคอร์ดปัจจุบัน
'ประกาศตัวแปรแสดงโหมดการทำงาน ถ้าอยู่ในโหมดเพิ่มเรคอร์ดจะมีค่าเป็น True ถ้าอยู่ในโหมดแก้ไขจะมีค่าเป็น False
Dim addNewMode As Boolean
Dim fdName As String 'ประกาศตัวแปรเก็บชื่อฟีลด์ในเทเบิล Contacts
Dim sHelpFile As String


Dim ActionFlag As String = ""
Dim LastRevenueID As String = ""
Dim Dtflnfo As DateTimeFormatInfo

Dim IsFind As Boolean = False

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

Dim strConn As String
strConn = "Data Source=.\SQLEXPRESS;Initial Catalog=SSPEGIS;Integrated Security=True"


With Conn

If .State = ConnectionState.Open Then .Close()
.ConnectionString = strConn
.Open()
End With


Dim sqlland As String = ""
sqlland = "SELECT * FROM land ORDER BY LANDID"

da = New SqlDataAdapter(sqlland, Conn)
da.Fill(ds, "land")
If ds.Tables("land").Rows.Count <> 0 Then

Dim bin As New BindingSource(ds, "land")

'นำคอนโทรลเท็กซ์บ็อกซ์บนฟอร์มมาผูกกับข้อมูลในแต่ละฟีลด์ของ datatable
txtLANDID.DataBindings.Add("Text", bin, "LANDID")
txtPARCEL_CODE.DataBindings.Add("Text", bin, "PARCEL_CODE")
txtTAMBON_TH.DataBindings.Add("Text", bin, "TAMBON_TH")
txtDISTRICT_TH.DataBindings.Add("Text", bin, "DISTRICT_TH")
txtPROVINCE_TH.DataBindings.Add("Text", bin, "PROVINCE_TH")
txtUTM_CODE.DataBindings.Add("Text", bin, "UTM_CODE")
txtUTM_NO.DataBindings.Add("Text", bin, "UTM_NO")
txtUTM_PAGE.DataBindings.Add("Text", bin, "UTM_PAGE")
'txtUSED_DESC.DataBindings.Add("Text", bin, "USED_DESC")
'txtLDOC_TYPE.DataBindings.Add("Text", bin, "LDOC_TYPE")
'txtL_UTILIZATION.DataBindings.Add("Text", bine, "L_UTILIZATION")
txtSURVEY_NO.DataBindings.Add("Text", bin, "SURVEY_NO")
'txtLDOC_NO.DataBindings.Add("Text", bin, "USED_DESC")
txtLAND_NO.DataBindings.Add("Text", bin, "LDOC_NO")
txtDOL_RAI.DataBindings.Add("Text", bin, "DOL_RAI")
txtDOL_NGAN.DataBindings.Add("Text", bin, "DOL_NGAN")
txtDOL_WA.DataBindings.Add("Text", bin, "DOL_WA")
txtTAXED_RAI.DataBindings.Add("Text", bin, "TAXED_RAI")
txtTAXED_NGAN.DataBindings.Add("Text", bin, "TAXED_NGAN")
txtTAXED_WA.DataBindings.Add("Text", bin, "TAXED_WA")
End If
End Sub


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

Dim strConn As String
Dim sqlupdate As String
Dim sqladd As String

sqlupdate = "update land "
sqlupdate &= " set PARCEL_CODE = '" & txtPARCEL_CODE.Text & "',"
sqlupdate &= " TAMBON_TH= '" & txtTAMBON_TH.Text & "',"
sqlupdate &= " DISTRICT_TH= " & Val(txtDISTRICT_TH.Text) & ","
sqlupdate &= " PROVINCE_TH= " & Val(txtPROVINCE_TH.Text) & ""
sqlupdate &= " UTM_CODE = '" & txtUTM_CODE.Text & "'"
sqlupdate &= " where LANDID = '" & txtLANDID.Text & "'"


sqladd = "insert into land(LANDID,PARCEL_CODE, TAMBON_TH , DISTRICT_TH,PROVINCE_TH)"
sqladd &= " values ('" & txtLANDID.Text & "',"
sqladd &= " '" & txtPARCEL_CODE.Text & "',"
sqladd &= "'" & txtTAMBON_TH.Text & "',"
sqladd &= "" & Val(txtDISTRICT_TH.Text) & ","
sqladd &= "" & Val(txtPROVINCE_TH.Text) & ")"



With Conn
If .State = ConnectionState.Open Then .Close()
.ConnectionString = strConn
.Open()
End With
product = New OleDb.OleDbCommand
With product
.CommandType = CommandType.Text
If add_state = True Then
.CommandText = sqladd
Else
.CommandText = sqlupdate
End If

.Connection = Conn
.ExecuteNonQuery()
End With
Catch ErrorToEdit As Exception
MessageBox.Show(ErrorToEdit.Message & sqladd, "ข้อผิดพลาด", MessageBoxButtons.OK, MessageBoxIcon.Error)
Exit Sub
End Try
add_state = False
MessageBox.Show("บันทึกข้อมูลเสร็จแล้ว ", "แจ้งให้ทราบ", MessageBoxButtons.OK, MessageBoxIcon.Information)
Call lock_object()
Call Show()
End Sub


Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click
addNewMode = True 'แสดงโหมดการทำงานแบบเพิ่มเรคอร์ดใหม่
currRecPos = objCurrencyMgr.Position 'เก็บตำแหน่งเรคอร์ดปัจจุบันใน datatable ไว้ที่ currRecPos
objCurrencyMgr.AddNew() 'เพิ่มเรคอร์ดใหม่ว่างๆ 1 เรคอร์ดใน datatable

EnabledReadWrite() 'ให้เท็กซ์บ็อกซ์ทั้งหมดแสดงข้อมูลแบบอ่านเขียนได้

txtLANDID.Focus()
End Sub

Private Sub btnFirst_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnFirst.Click
objCurrencyMgr.Position = 1
End Sub

Private Sub btnPrevious_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPrevious.Click
objCurrencyMgr.Position -= 1
End Sub

Private Sub btnNext_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNext.Click
objCurrencyMgr.Position += 1
End Sub

Private Sub btnLast_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLast.Click
objCurrencyMgr.Position = objCurrencyMgr.Count - 1
End Sub

Private Sub btndelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btndelete.Click
If dtTable.Rows.Count <= 0 Then
Exit Sub 'ถ้าเป็น datatable ว่าง ให้ออกจาก Procedure นี้
'ถ้าไม่ใช่ datatable ว่าง และผู้ใช้ยืนยันการลบ
ElseIf MessageBox.Show("ต้องการลบเรคอร์ดนี้ใช่หรือไม่?", "ยืนยันการลบ", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = vbYes Then
objCurrencyMgr.RemoveAt(objCurrencyMgr.Position) 'ให้ลบเรคอร์ดปัจจุบันออกจาก datatable
dtAdapter.Update(dtTable) 'และลบเรคอร์ดนี้ออกจากฐานข้อมูลด้วย
currRecPos = objCurrencyMgr.Position 'เก็บเรคอร์ดปัจจุบันบนฟอร์มไว้ที่ currRecPos
End If
If dtTable.Rows.Count = 0 Then 'ถ้าลบเรคอร์ดใน datatable จนหมด

DisabledReadWrite() 'ให้เท็กซ์บ็อกซ์ทั้งหมดแสดงข้อมูลแบบอ่านได้อย่างเดียว
End If
End Sub

Private Sub btnEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEdit.Click
If dtTable.Rows.Count <= 0 Then
Exit Sub 'ถ้าเป็น datatable ว่าง ให้ออกจาก Procedure นี้
Else 'ถ้าไม่ใช่ datatable ว่าง
addNewMode = False 'แสดงโหมดการทำงานแบบแก้ไขเรคอร์ด
EnabledReadWrite() 'ให้เท็กซ์บ็อกซ์ทั้งหมดแสดงข้อมูลแบบอ่านเขียนได้
currRecPos = objCurrencyMgr.Position 'เก็บเรคอร์ดปัจจุบันบนฟอร์มไว้ที่ currRecPos

txtLANDID.Focus() 'เลื่อนเคอร์เซอร์รับข้อมูลบนจอภาพไปที่ช่องชื่อ
End If
End Sub
End Class
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-17 19:58:21 By : pisansri
 


 

No. 25



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



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

ผมเอาโค๊ดมา ให้ดูตรงปุ่ม Save เเละปุ่มต่างๆ น่ะครับมันผิดตรงไหนหรอครับ ขอบคุณครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-17 20:01:06 By : pisansri
 


 

No. 26



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



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


แล้วจะค่อย ๆ ดูให้นะครับ ไปทีละอย่างละกัน
Inherits System.Windows.Forms.Form
บรรทัดนี้ไม่ต้องมีแล้ว เพราะอยู่แล้วใน Windows Form Designer
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-17 22:01:06 By : base3000
 


 

No. 27



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



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

ครับ ขอบคุณครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-17 22:37:25 By : pisansri
 


 

No. 28



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



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


จัดไป


Code (VB.NET)
    Dim Conn As SqlConnection 'ยังไม่ต้อง New
    Dim da As SqlDataAdapter

    Dim product As OleDb.OleDbCommand 'บรรทัดนี้ไว้ทำอะไร ใช้ da พอแล้วมั้ง
    Dim add_state As Boolean = False
    Dim ds As DataSet = New DataSet 'ไม่ต้องใช้ DataSet ใช้ Datatable ไปเลย
    Dim dt As DataTable
    Private bin As New BindingSource 'ย้ายมาจากข้างล่าง
    Dim Tody As Date 'Today หรือเปล่า

    Dim CurrentRecord As Integer = 0
    Dim Recordcount As Integer = 0


    Dim UseFont As New Font("MS Sans Serif", 10)

    Private WithEvents prDoc As New Printing.PrintDocument 'ต้องมี WithEvents ด้วย แล้วใช้คำสั่ง Graphics เป็นหรือยัง
    Private prDlg As PrintDialog = New PrintDialog 'ไม่ต้องรีบประกาศ จะใช้ค่อนประกาศ
    Dim strConnString, strSQL As String 'strConnString ใช้ครั้งเดียว ประกาศใน Sub
    Dim objCmd As New SqlCommand 'ยังไม่ต้อง New
    Dim objConn As New SqlConnection 'มีทำไมหลายอัน
    Dim dspro As New DataSet 'อันนี้ก็ด้วย

    'ชุดนี้ไว้ทำอะไร ซ้ำทั้งนั้น
    Dim dtSet As DataSet = New DataSet 'ประกาศตัวแปรแทนออบเจ็คหรือ Instance จากคลาส DataSet 
    Dim dtTable As DataTable 'ประกาศตัวแปรแทนออบเจ็คหรือ Instance จากคลาส DataTable
    Dim objCurrencyMgr As CurrencyManager 'ประกาศตัวแปรแทนออบเจ็คหรือ Instance จากคลาส CurrencyManager
    Dim currRecPos As Integer 'ประกาศตัวแปรเก็บตำแหน่งเรคอร์ดปัจจุบัน


    'ประกาศตัวแปรแสดงโหมดการทำงาน ถ้าอยู่ในโหมดเพิ่มเรคอร์ดจะมีค่าเป็น True ถ้าอยู่ในโหมดแก้ไขจะมีค่าเป็น False
    Dim addNewMode As Boolean
    Dim fdName As String 'ประกาศตัวแปรเก็บชื่อฟีลด์ในเทเบิล Contacts
    Dim sHelpFile As String


    Dim ActionFlag As String = ""
    Dim LastRevenueID As String = ""
    Dim Dtflnfo As DateTimeFormatInfo

    Dim IsFind As Boolean = False

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

        Dim strConn As String = "Data Source=.\SQLEXPRESS;Initial Catalog=SSPEGIS;Integrated Security=True"
        Conn = New SqlConnection(strConn)
        'DataAdapter ไม่ต้อง Open Conn
        Dim sqlland As String
        sqlland = "SELECT * FROM land ORDER BY LANDID"
        da = New SqlDataAdapter(sqlland, Conn)
        da.Fill(dt)
        'ไม่ต้องเช็คหรอก ไม่มีอะไรเลยก็ Bind ได้ If ds.Tables("land").Rows.Count <> 0 Then

        'เอาไปไว้ข้างนอก Dim bin As New BindingSource(ds, "land")
        'ตรงนี้สร้าง Updateข้อมูล มีข้อแม้ว่า ตาราง land ต้องมี คีย์ฟิลล์
        Dim cmb As SqlCommandBuilder
        cmb = New SqlCommandBuilder(da)

     'เพิ่มเติมบรรทัดนี้
        bin.Datasource = dt

        'นำคอนโทรลเท็กซ์บ็อกซ์บนฟอร์มมาผูกกับข้อมูลในแต่ละฟีลด์ของ datatable
        txtLANDID.DataBindings.Add("Text", bin, "LANDID")
        txtPARCEL_CODE.DataBindings.Add("Text", bin, "PARCEL_CODE")
        txtTAMBON_TH.DataBindings.Add("Text", bin, "TAMBON_TH")
        txtDISTRICT_TH.DataBindings.Add("Text", bin, "DISTRICT_TH")
        txtPROVINCE_TH.DataBindings.Add("Text", bin, "PROVINCE_TH")
        txtUTM_CODE.DataBindings.Add("Text", bin, "UTM_CODE")
        txtUTM_NO.DataBindings.Add("Text", bin, "UTM_NO")
        txtUTM_PAGE.DataBindings.Add("Text", bin, "UTM_PAGE")
        'txtUSED_DESC.DataBindings.Add("Text", bin, "USED_DESC")
        'txtLDOC_TYPE.DataBindings.Add("Text", bin, "LDOC_TYPE")
        'txtL_UTILIZATION.DataBindings.Add("Text", bine, "L_UTILIZATION")
        txtSURVEY_NO.DataBindings.Add("Text", bin, "SURVEY_NO")
        'txtLDOC_NO.DataBindings.Add("Text", bin, "USED_DESC")
        txtLAND_NO.DataBindings.Add("Text", bin, "LDOC_NO")
        txtDOL_RAI.DataBindings.Add("Text", bin, "DOL_RAI")
        txtDOL_NGAN.DataBindings.Add("Text", bin, "DOL_NGAN")
        txtDOL_WA.DataBindings.Add("Text", bin, "DOL_WA")
        txtTAXED_RAI.DataBindings.Add("Text", bin, "TAXED_RAI")
        txtTAXED_NGAN.DataBindings.Add("Text", bin, "TAXED_NGAN")
        txtTAXED_WA.DataBindings.Add("Text", bin, "TAXED_WA")
    End Sub


    Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click
        'เอาออกไป
        'Dim strConn As String
        'Dim sqlupdate As String
        'Dim sqladd As String
        'sqlupdate = "update land "
        'sqlupdate &= " set PARCEL_CODE = '" & txtPARCEL_CODE.Text & "',"
        'sqlupdate &= " TAMBON_TH= '" & txtTAMBON_TH.Text & "',"
        'sqlupdate &= " DISTRICT_TH= " & Val(txtDISTRICT_TH.Text) & ","
        'sqlupdate &= " PROVINCE_TH= " & Val(txtPROVINCE_TH.Text) & ""
        'sqlupdate &= " UTM_CODE = '" & txtUTM_CODE.Text & "'"
        'sqlupdate &= " where LANDID = '" & txtLANDID.Text & "'"
        'sqladd = "insert into land(LANDID,PARCEL_CODE, TAMBON_TH , DISTRICT_TH,PROVINCE_TH)"
        'sqladd &= " values ('" & txtLANDID.Text & "',"
        'sqladd &= " '" & txtPARCEL_CODE.Text & "',"
        'sqladd &= "'" & txtTAMBON_TH.Text & "',"
        'sqladd &= "" & Val(txtDISTRICT_TH.Text) & ","
        'sqladd &= "" & Val(txtPROVINCE_TH.Text) & ")"
        'With Conn
        'If .State = ConnectionState.Open Then .Close()
        '.ConnectionString = strConn
        '.Open()
        'End With

        Dim dtChange As DataTable = dt.GetChanges
        'ถ้าจะตรวจสอบข้อมูล ให้เอาตารางนี้ไปตรวจ
        Try
            bin.EndEdit()
            da.Update(dtChange)
            dt.AcceptChanges()
        Catch ex As SqlException
            MessageBox.Show(ex.Message)
        Finally
            Conn.Close()
        End Try

        'เอาออกไป
        'product = New OleDb.OleDbCommand
        'With product
        '.CommandType = CommandType.Text
        ' If add_state = True Then
        '.CommandText = sqladd
        ' Else
        '.CommandText = sqlupdate
        'End If
        ' .Connection = Conn
        ' .ExecuteNonQuery()
        ' End With
        '  Catch ErrorToEdit As Exception
        'MessageBox.Show(ErrorToEdit.Message & sqladd, "ข้อผิดพลาด", MessageBoxButtons.OK, MessageBoxIcon.Error)
        ' Exit Sub
        ' End Try


        add_state = False
        MessageBox.Show("บันทึกข้อมูลเสร็จแล้ว ", "แจ้งให้ทราบ", MessageBoxButtons.OK, MessageBoxIcon.Information)
        Call lock_object()
        Call Show()
    End Sub


    Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click
        addNewMode = True 'แสดงโหมดการทำงานแบบเพิ่มเรคอร์ดใหม่ 
        currRecPos = bin.Position 'เก็บตำแหน่งเรคอร์ดปัจจุบันใน datatable ไว้ที่ currRecPos 
        bin.AddNew() 'เพิ่มเรคอร์ดใหม่ว่างๆ 1 เรคอร์ดใน datatable 

        EnabledReadWrite() 'ให้เท็กซ์บ็อกซ์ทั้งหมดแสดงข้อมูลแบบอ่านเขียนได้ 

        txtLANDID.Focus()
    End Sub

    Private Sub btnFirst_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnFirst.Click
        bin.Position = 1
    End Sub

    Private Sub btnPrevious_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPrevious.Click
        'เช็คตำแหน่งด้วย เพราะถ้าเลย มันจะ Error
        bin.Position -= 1
    End Sub

    Private Sub btnNext_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNext.Click
        'เช็คตำแหน่งด้วย เพราะถ้าเลย มันจะ Error
        bin.Position += 1
    End Sub

    Private Sub btnLast_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLast.Click
        bin.Position = objCurrencyMgr.Count - 1
    End Sub

    Private Sub btndelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btndelete.Click
        If dtTable.Rows.Count <= 0 Then
            Exit Sub 'ถ้าเป็น datatable ว่าง ให้ออกจาก Procedure นี้ 
            'ถ้าไม่ใช่ datatable ว่าง และผู้ใช้ยืนยันการลบ 
        ElseIf MessageBox.Show("ต้องการลบเรคอร์ดนี้ใช่หรือไม่?", "ยืนยันการลบ", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = vbYes Then
            bin.RemoveCurrent() 'ให้ลบเรคอร์ดปัจจุบันออกจาก datatable 
            'ลบออกจากฐานข้อมูลตอนบันทึกก็ได้ dtAdapter.Update(dtTable) 'และลบเรคอร์ดนี้ออกจากฐานข้อมูลด้วย 
            'เวลา Update มีแก้ไขหรือลบไปกี่เรคคอร์ด มันจะจัดการให้หมด
            currRecPos = bin.Position 'เก็บเรคอร์ดปัจจุบันบนฟอร์มไว้ที่ currRecPos 
        End If
        If dtTable.Rows.Count = 0 Then 'ถ้าลบเรคอร์ดใน datatable จนหมด 

            DisabledReadWrite() 'ให้เท็กซ์บ็อกซ์ทั้งหมดแสดงข้อมูลแบบอ่านได้อย่างเดียว 
        End If
    End Sub

    Private Sub btnEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEdit.Click
        If dtTable.Rows.Count <= 0 Then
            Exit Sub 'ถ้าเป็น datatable ว่าง ให้ออกจาก Procedure นี้ 
        Else 'ถ้าไม่ใช่ datatable ว่าง 
            addNewMode = False 'แสดงโหมดการทำงานแบบแก้ไขเรคอร์ด 
            EnabledReadWrite() 'ให้เท็กซ์บ็อกซ์ทั้งหมดแสดงข้อมูลแบบอ่านเขียนได้ 
            currRecPos = bin.Position 'เก็บเรคอร์ดปัจจุบันบนฟอร์มไว้ที่ currRecPos 

            txtLANDID.Focus() 'เลื่อนเคอร์เซอร์รับข้อมูลบนจอภาพไปที่ช่องชื่อ 
        End If
    End Sub



ประวัติการแก้ไข
2010-11-18 00:15:22
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-17 23:00:55 By : base3000
 


 

No. 29



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



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


ไม่รู้เอาไปลองหรือยัง มีเพิ่มเติม 1 บรรทัด
bin.Datasource = dt
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-18 00:13:09 By : base3000
 


 

No. 30



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



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

Option Explicit On
Option Strict On
Imports System.Data
Imports System.Data.SqlClient
Imports System.Globalization
Imports System.Drawing.Printing
Public Class Land


Dim Conn As SqlConnection = New SqlConnection
Dim da As SqlDataAdapter
Dim add_state As Boolean = False
Dim dt As DataTable = New DataTable
Private bin As New BindingSource
Dim Today As Date
Dim CurrentRecord As Integer = 0
Dim Recordcount As Integer = 0
Dim UseFont As New Font("MS Sans Serif", 10)
Dim prDoc As PrintDocument = New PrintDocument
Private prDlg As PrintDialog = New PrintDialog
Dim dtTable As DataTable
Dim objCurrencyMgr As CurrencyManager
Dim currRecPos As Integer

Dim addNewMode As Boolean
Dim fdName As String
Dim sHelpFile As String


Dim ActionFlag As String = ""
Dim LastRevenueID As String = ""
Dim Dtflnfo As DateTimeFormatInfo
Dim IsFind As Boolean = False

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

Dim strConn As String
strConn = "Data Source=.\SQLEXPRESS;Initial Catalog=SSPEGIS;Integrated Security=True"

Conn = New SqlConnection(strConn)

Dim sqlland As String = ""
sqlland = "SELECT * FROM land ORDER BY LANDID"

da = New SqlDataAdapter(sqlland, Conn)
da.Fill(dt)

Dim cmb As SqlCommandBuilder
cmb = New SqlCommandBuilder(da)
bin.DataSource = dt

lblLANDID.DataBindings.Add("Text", bin, "LANDID")
txtPARCEL_CODE.DataBindings.Add("Text", bin, "PARCEL_CODE")
txtTAMBON_TH.DataBindings.Add("Text", bin, "TAMBON_TH")
txtDISTRICT_TH.DataBindings.Add("Text", bin, "DISTRICT_TH")
txtPROVINCE_TH.DataBindings.Add("Text", bin, "PROVINCE_TH")
txtUTM_CODE.DataBindings.Add("Text", bin, "UTM_CODE")
txtUTM_NO.DataBindings.Add("Text", bin, "UTM_NO")
txtUTM_PAGE.DataBindings.Add("Text", bin, "UTM_PAGE")
'txtUSED_DESC.DataBindings.Add("Text", bin, "USED_DESC")
'txtLDOC_TYPE.DataBindings.Add("Text", bin, "LDOC_TYPE")
'txtL_UTILIZATION.DataBindings.Add("Text", bine, "L_UTILIZATION")
txtSURVEY_NO.DataBindings.Add("Text", bin, "SURVEY_NO")
'txtLDOC_NO.DataBindings.Add("Text", bin, "USED_DESC")
txtLAND_NO.DataBindings.Add("Text", bin, "LDOC_NO")
txtDOL_RAI.DataBindings.Add("Text", bin, "DOL_RAI")
txtDOL_NGAN.DataBindings.Add("Text", bin, "DOL_NGAN")
txtDOL_WA.DataBindings.Add("Text", bin, "DOL_WA")
txtTAXED_RAI.DataBindings.Add("Text", bin, "TAXED_RAI")
txtTAXED_NGAN.DataBindings.Add("Text", bin, "TAXED_NGAN")
txtTAXED_WA.DataBindings.Add("Text", bin, "TAXED_WA")

End Sub


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

add_state = False
MessageBox.Show("บันทึกข้อมูลเสร็จแล้ว ", "แจ้งให้ทราบ", MessageBoxButtons.OK, MessageBoxIcon.Information)

'Call lock_object()'''''''''''''''''''''''''ตรงนี้อะครับมันใช้ไม่ได้มันขึ้นSyntex Error

Call Show()
End Sub


Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click
addNewMode = True
currRecPos = objCurrencyMgr.Position '''''''''มัน RunTIME error ตรงนี้ครับ
objCurrencyMgr.AddNew()

'EnabledReadWrite() '''''''''''''''''''''''''ตรงนี้อะครับมันใช้ไม่ได้มันขึ้นSyntex Error


lblLANDID.Focus()
End Sub

Private Sub btnFirst_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnFirst.Click
bin.Position = 1
End Sub

Private Sub btnPrevious_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPrevious.Click

bin.Position -= 1
End Sub

Private Sub btnNext_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNext.Click

bin.Position += 1
End Sub

Private Sub btnLast_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLast.Click

bin.Position = -1 ''''''''ตรงนี้อะครับมันไม่ไปที่ตำแหน่งสุดท้าย
End Sub

Private Sub btndelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btndelete.Click

If dtTable.Rows.Count <= 0 Then '''''''''มัน RunTIME error ตรงนี้ครับ
Exit Sub

ElseIf MessageBox.Show("ต้องการลบเรคอร์ดนี้ใช่หรือไม่?", "ยืนยันการลบ", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = vbYes Then

bin.RemoveCurrent()
currRecPos = bin.Position
End If

If dtTable.Rows.Count = 0 Then
'DisabledReadWrite() '''''''''''''''''''''''''ตรงนี้อะครับมันใช้ไม่ได้มันขึ้นSyntex Error


End If
End Sub

Private Sub btnEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEdit.Click
If dtTable.Rows.Count <= 0 Then '''''''''มัน RunTIME error ตรงนี้ครับ

Exit Sub
Else
addNewMode = False

'EnabledReadWrite() '''''''''''''''''''''''''ตรงนี้อะครับมันใช้ไม่ได้มันขึ้นSyntex Error

currRecPos = bin.Position
lblLANDID.Focus()
End If

End Sub

Private Sub btnprint_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnprint.Click

End Sub
End Class
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-18 14:09:58 By : pisansri
 


 

No. 31



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



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

รันได้ครับ เเต่ตรงปุ่ม เพิ่ม แก้ไข ลบ บันทึกยังไม่ได้


รบกวนพี่บ่อยขนาดนี้คงไม่ว่านะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-18 14:11:57 By : pisansri
 


 

No. 32



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



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


ผมให้คุณกลับไปทำการบ้านก่อน แล้วค่อยว่ากันอีกที ผมจะแวะมาดูตอนเย็น
ผมจะให้หลักการตามนี้
1. ไปดูตัวแปร(Object)ที่ประกาศไว้ แต่ละตัวใช้ทำอะไรบ้าง ตัวไหนไม่ใช้ ลบทิ้่งไปซะ เช่น dt กับ dtTable
2. ที่ขึ้นเส้นสีเขียวแล้วมีวงด้านหลัง มันหมาย Sub Procedure ซึ่งจะมีหรือไม่มีผมก็ไม่อาจทราบได้ ถ้าไม่มีก็ลบทิ้งไปซะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-18 15:17:28 By : base3000
 


 

No. 33



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



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

Option Explicit On
Option Strict On
Imports System.Data
Imports System.Data.SqlClient


Public Class Land
Dim Conn As SqlConnection = New SqlConnection
Dim da As SqlDataAdapter
Dim add_state As Boolean = True
Dim dt As New DataTable
Private bin As New BindingSource
Dim objCurrencyMgr As CurrencyManager
Dim currRecPos As Integer
Dim addNewMode As Boolean

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

Dim strConn As String
strConn = "Data Source=.\SQLEXPRESS;Initial Catalog=SSPEGIS;Integrated Security=True"

Conn = New SqlConnection(strConn)

Dim sqlland As String = ""
sqlland = "SELECT * FROM land ORDER BY LANDID"

da = New SqlDataAdapter(sqlland, Conn)
da.Fill(dt)

Dim cmb As SqlCommandBuilder
cmb = New SqlCommandBuilder(da)
bin.DataSource = dt

lblLANDID.DataBindings.Add("Text", bin, "LANDID")
txtPARCEL_CODE.DataBindings.Add("Text", bin, "PARCEL_CODE")
txtTAMBON_TH.DataBindings.Add("Text", bin, "TAMBON_TH")
txtDISTRICT_TH.DataBindings.Add("Text", bin, "DISTRICT_TH")
txtPROVINCE_TH.DataBindings.Add("Text", bin, "PROVINCE_TH")
txtUTM_CODE.DataBindings.Add("Text", bin, "UTM_CODE")
txtUTM_NO.DataBindings.Add("Text", bin, "UTM_NO")
txtUTM_PAGE.DataBindings.Add("Text", bin, "UTM_PAGE")
'txtUSED_DESC.DataBindings.Add("Text", bin, "USED_DESC")
'txtLDOC_TYPE.DataBindings.Add("Text", bin, "LDOC_TYPE")
'txtL_UTILIZATION.DataBindings.Add("Text", bine, "L_UTILIZATION")
txtSURVEY_NO.DataBindings.Add("Text", bin, "SURVEY_NO")
'txtLDOC_NO.DataBindings.Add("Text", bin, "USED_DESC")
txtLAND_NO.DataBindings.Add("Text", bin, "LDOC_NO")
txtDOL_RAI.DataBindings.Add("Text", bin, "DOL_RAI")
txtDOL_NGAN.DataBindings.Add("Text", bin, "DOL_NGAN")
txtDOL_WA.DataBindings.Add("Text", bin, "DOL_WA")
txtTAXED_RAI.DataBindings.Add("Text", bin, "TAXED_RAI")
txtTAXED_NGAN.DataBindings.Add("Text", bin, "TAXED_NGAN")
txtTAXED_WA.DataBindings.Add("Text", bin, "TAXED_WA")

End Sub


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

add_state = False
MessageBox.Show("บันทึกข้อมูลเสร็จแล้ว ", "แจ้งให้ทราบ", MessageBoxButtons.OK, MessageBoxIcon.Information)

'Call lock_object()

Call Show()
End Sub


Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click
addNewMode = True
currRecPos = bin.Position
bin.AddNew()

'EnabledReadWrite()


lblLANDID.Focus()
End Sub

Private Sub btnFirst_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnFirst.Click
bin.Position = 1
End Sub

Private Sub btnPrevious_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPrevious.Click

bin.Position -= 1
End Sub

Private Sub btnNext_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNext.Click

bin.Position += 1
End Sub

Private Sub btnLast_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLast.Click

bin.Position = bin.Count - 1
End Sub

Private Sub btndelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btndelete.Click

If dt.Rows.Count <= 0 Then
Exit Sub

ElseIf MessageBox.Show("ต้องการลบเรคอร์ดนี้ใช่หรือไม่?", "ยืนยันการลบ", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = vbYes Then

bin.RemoveCurrent()
currRecPos = bin.Position
End If

If dt.Rows.Count = 0 Then
'DisabledReadWrite()

End If
End Sub

Private Sub btnEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEdit.Click
If dt.Rows.Count <= 0 Then
Exit Sub
Else
addNewMode = False

'EnabledReadWrite()
currRecPos = bin.Position
lblLANDID.Focus()
End If

End Sub

Private Sub btnprint_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnprint.Click

End Sub
End Class
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-18 17:29:00 By : pisansri
 


 

No. 34



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



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

แก้ ได้เเล้วครับเเต่ยังบันทึกยังไม่ลงฐาน เเละ ลบออกจากฐานได้
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-18 17:30:20 By : pisansri
 


 

No. 35



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



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


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

'เอาชุดนี้ใส่เข้าไป
Dim dtChange As DataTable = dt.GetChanges
Try
bin.EndEdit()
da.Update(dtChange)
dt.AcceptChanges()
Catch ex As SqlException
MessageBox.Show(ex.Message)
End Try

add_state = False
MessageBox.Show("บันทึกข้อมูลเสร็จแล้ว ", "แจ้งให้ทราบ", MessageBoxButtons.OK, MessageBoxIcon.Information)

'Call lock_object()
Call Show()
End Sub
[font=Verdana]-------------------------------------------------------------[/font]
If dt.Rows.Count <= 0 Then --> Count ไม่มีน้อยกว่า 0 เอา < ออกไป


[font=Verdana]-------------------------------------------------------------[/font]

Private Sub btndelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btndelete.Click

If dt.Rows.Count = 0 Then Exit Sub

If MessageBox.Show("ต้องการลบเรคอร์ดนี้ใช่หรือไม่?", "ยืนยันการลบ", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = vbYes Then
bin.RemoveCurrent()
currRecPos = bin.Position
End If

If dt.Rows.Count = 0 Then
'DisabledReadWrite()
End If

End Sub


[font=Verdana]-------------------------------------------------------------[/font]
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-18 18:36:30 By : base3000
 


 

No. 36



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



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

vv
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-18 19:31:07 By : pisansri
 


 

No. 37



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



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

มันเป็นเเบบนี้ครับ หรือเป็นที่ฐานของผมรึเปล่า
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-18 19:32:24 By : pisansri
 


 

No. 38



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



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


อ้อลืมไป เพิ่มตรงนี้เข้านะครับ

bin.EndEdit()

Dim dtChange As DataTable = dt.GetChanges
if dtChange isNot Nothing then
Try
da.Update(dtChange)
dt.AcceptChanges()
Catch ex As SqlException
MessageBox.Show(ex.Message)
End Try
End if

สาเหตุเกิดจากคุณยังไม่ได้มีการแก้ไข จึงไม่มีอะไรใน dtChange


ประวัติการแก้ไข
2010-11-18 21:19:28
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-18 20:20:41 By : base3000
 


 

No. 39



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



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

save ได้ครับ เเต่ยังไม่ลงฐาน เเละลบออกจากฐานยังไม่ได้
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-18 22:18:31 By : pisansri
 


 

No. 40



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



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


ย้าย EndEdit ขึ้นไปไว้บรรทัดแรกหรือยัง
ถ้าย้ายแล้ว ลองย้ายการประกาศ dtChange ไปไว้นอก Sub และ ลาก DataGridView มาไว้ใน From
นำ dtChange ไป Bind กับ DataGridView ที่สร้างขึ้นมาโดยที่คำสั่ง Save ให้ทำอย่างนี้

Private dtChange As DataTable

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

bin.EndEdit()
dtChange = dt.GetChanges
if dtChange isNot Notthing then ---> ใส่ BrackPoint ไว้ตรงนี้ แล้วดูว่ามันวิ่งเข้าไปทำงานใน If หรือเปล่า
Me.DataGridView1.DataSource = dtChange
End if

ส่วนนี้ ใส่เครื่อง Single quotes (') เพื่อพักไว้ก่อน
'Try
'da.Update(dtChange)
'dt.AcceptChanges()
'Catch ex As SqlException
'MessageBox.Show(ex.Message)
'End Try

add_state = False
MessageBox.Show("บันทึกข้อมูลเสร็จแล้ว ", "แจ้งให้ทราบ", MessageBoxButtons.OK, MessageBoxIcon.Information)

'Call lock_object()
Call Show()
End Sub

เมื่อกดปุ่ม Save แล้ว ดูว่ามีรายที่แก้ไขเข้ามาอยู่ในตารางหรือไม่
แล้วค่อยมาดูกันต่อไป แต่ขอเป็นพรุ่งนี้เช้าแล้วนะครับ


ประวัติการแก้ไข
2010-11-18 22:48:08
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-18 22:44:39 By : base3000
 


 

No. 41



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



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

ครับ ง่วงเเล้วเหมือนกัน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-18 23:37:11 By : pisansri
 


 

No. 42



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



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

บันทึกลง DataGridView1 ได้ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-19 08:23:26 By : pisansri
 


 

No. 43



โพสกระทู้ ( 1,348 )
บทความ ( 1 )



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


ปกติก่อนเรียกใช้ da.Update(...)
ต้องมีการกำหนด
da.UpdateCommand = new SqlCommand(.....)
da.DeleteCommand = new SqlCommand(.....)
da.InsertCommand = new SqlCommand(.....)

ผมยังไม่เห็นตรงไหนเลยอ่ะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-19 08:33:29 By : watcharop
 


 

No. 44



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



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

บันทึกได้เเล้วครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-19 08:46:06 By : pisansri
 


 

No. 45



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



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

โอ๋ย เเก้ไขได้บันทึกได้ เเต่เพิ่มยังบันทึกไม่ได้
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-19 08:47:57 By : pisansri
 


 

No. 46



โพสกระทู้ ( 1,348 )
บทความ ( 1 )



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


ก็ถึงว่า...
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-19 08:58:51 By : watcharop
 


 

No. 47



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



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

เพิ่มก็บันทึกได้เเล้วครับเเล้วครับ เเต่ต้อง มา คีย์ ตรง LANDID ด้วย ถึงจะบันทึกได้ เราต้องตั้งค่า อะไรใน MS SQL SERVER 2008 รึเปล่าครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-19 09:05:17 By : pisansri
 


 

No. 48



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



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


Dim cmb As SqlCommandBuilder
cmb = New SqlCommandBuilder(da)
bin.DataSource = dt

คำสั่งชุดบน จัดการในเรื่องของชุดล่างให้แล้ว

da.UpdateCommand = new SqlCommand(.....)
da.DeleteCommand = new SqlCommand(.....)
da.InsertCommand = new SqlCommand(.....)




ที่เพิ่มใหม่ไม่ได้ เพราะ ตารางในฐานข้อมูล มีบาง Column กำหนด Not Null ไว้ แต่คุณไม่ได้สร้าง TextBox หรืออะไรก็แล้วแต่ มารองรับรับมัน เมื่อค่านั้นยังเป็น Null อยู่ มันจึงไม่ยอมให้ Update ส่วนที่เรียกขึ้นมา Edit มันมีข้อมูลเก่าที่ยอมรับได้อยู่แล้ว จึงสามารถ Update ได้
คุณลองเอา bin ไปใส่ใน DatagridView1
Me.DatagridView1.Datasource = bin -----> ต่อจาก bin.DataSource = dt
แล้ว AddNew
หลังจากนั้นใส่ข้อมูลที่ DatagridView1 ให้ครบทุกช่อง แล้วลอง Save ดู
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-19 09:07:32 By : base3000
 


 

No. 49



โพสกระทู้ ( 1,348 )
บทความ ( 1 )



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


ขออภัย เมื่อกี้ ตาลาย หาไม่เจอ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-19 09:12:23 By : watcharop
 


 

No. 50



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



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

ที่ตอนนี้ผมลบ DatagridView1 ออกเเล้วมันสามารถเพิ่มใน MS SQL SERVER 2008 ได้เเล้วครับ เเต่ต้อง มา คีย์ ลำดับ ตรง
textbox LANDID ด้วยคือผมอยากให้ ตรงLANDID มันรัน ลำดับลงมา เเบบ autoครับ เเต่ตอนนี้ ต้องมาคีย์เลขลำดับตรง LANDID เอง ถึงจะเพิ่มข้อมูลได้ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-19 09:27:27 By : pisansri
 


 

No. 51



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

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

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

ในฐานข้อมูลก็กำหนดให้ LANDID เป็น auto increament สิครับ (int) แล้วไม่ต้องสร้าง textbox สำหรับเก็บค่า LANIDID แล้วก็ลบในคำสั่งSQL ที่จะเพิ่ม ลบ แก้ไข ออกไปด้วยเพราะว่ามันจะไม่มีการอัพเดทใดๆ เช่น ถ้า insert UPdate ข้อมูล เราก็ไม่ต้องเอา LANDID มา แต่ส่วนอื่นๆทำเหมือนเดิมหมด


ประวัติการแก้ไข
2010-11-19 09:50:20
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-19 09:47:58 By : Dragons_first
 


 

No. 52



โพสกระทู้ ( 1,348 )
บทความ ( 1 )



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


ผมมักจะใช้วิธีนี้ ใน Module ของการบันทึกข้อมูล
มันอาจจะสะกดผิดบ้างตัว
เพราะตอนนี้ไม่มี VS ช่วย

Code (VB.NET)
Try

' อ่าน Primary ตัวสุดท้าย
Dim sqlCmd As SqlCommand = sqlCn.CreateCommand()
SQL = "SELECT PK=ISNULL((SELECT TOP 1 x.PK FROM Table1 ORDER BY x.PK DESC),0), SysDate=GETDATE()"
sqlCmd.CommandText = SQL
Dim dread As SqlDataReader = sqlCmd.ExecuteReader()
If dread.Read() Then
	NewID = dread("PK")
	SysDate = dread("SysDate")
End If
dread.Close()

stErr = ""
For Each drow dtable.Rows
	blUpdate = False
	' ส่วนของการ Validate ข้อมูล
	If (drow.RowState And 20) > 0 Then
		' มีการแก้ไขหรือเพิ่มข้อมูล
		If <เงื่อนไขตรวจสอบความถูกต้องของข้อมูล 1> Then stErr += vbCrLf +"- ข้อผิดพลาด 1"
		If <เงื่อนไขตรวจสอบความถูกต้องของข้อมูล 2> Then stErr += vbCrLf +"- ข้อผิดพลาด 2"
		If stErr<>"" Then Throw New Exception(stErr)
		blUpdate = True	
	End If

	' ส่วนของการ Update User และวันที่
	If blUpdate Then
		If drow.RowState = DataRowStat.Added Then
			NewID += 1
			drow("PK") = NewID
			drow("usrInsert") = My.User.Name
			drow("dtInsert") = SysDate
		End If
		drow("usrModify") = My.User.Name
		drow("dtModify") = SysDate
	End If
Next
da.Update(dtable)

Catch ex As Exception
......
End Try

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-19 09:53:41 By : watcharop
 


 

No. 53



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



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

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

bin.EndEdit()
dtChange = dt.GetChanges
If dtChange IsNot Nothing Then
End If

Try
da.Update(dtChange)
da.InsertCommand = New SqlCommand()
dt.AcceptChanges()
Catch ex As SqlException
MessageBox.Show(ex.Message)
End Try

add_state = False
MessageBox.Show("บันทึกข้อมูลเสร็จแล้ว ", "แจ้งให้ทราบ", MessageBoxButtons.OK, MessageBoxIcon.Information)

'Call lock_object()
Call Show()
End Sub
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-19 10:23:49 By : pisansri
 


 

No. 54



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



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

ถ้าผมมีโค๊ดตัวนี้ เเล้วผม จะใส่ โค๊ดของของพี่ ลงไปยังไงละครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-19 10:25:27 By : pisansri
 


 

No. 55



โพสกระทู้ ( 1,348 )
บทความ ( 1 )



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


คงไม่ได้
เพราะคุณน้องยังไม่ได้สร้าง DataSet เพื่อรองรับ Database เลยล่ะมั้ง

ตอบไปล่ะ ว่าแต่ถามผมรึเปล่าเนี่ยะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-19 10:31:48 By : watcharop
 


 

No. 56



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



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

Option Explicit On
Option Strict On
Imports System.Data
Imports System.Data.SqlClient


Public Class frmland
Dim Conn As SqlConnection = New SqlConnection
Dim da As SqlDataAdapter
Dim add_state As Boolean = True
Dim dt As New DataTable
Private bin As New BindingSource
Dim objCurrencyMgr As CurrencyManager
Dim currRecPos As Integer
Dim addNewMode As Boolean
Dim ds As DataSet = New DataSet
Dim IsFind As Boolean = False

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

Dim strConn As String
strConn = "Data Source=.\SQLEXPRESS;Initial Catalog=SSPEGIS2;Integrated Security=True"

Conn = New SqlConnection(strConn)

Dim sqlland As String = ""
sqlland = "SELECT * FROM land ORDER BY LANDID"

If IsFind = True Then
ds.Tables("land").Clear()

End If

da = New SqlDataAdapter(sqlland, Conn)
da.Fill(dt)

Dim cmb As SqlCommandBuilder
cmb = New SqlCommandBuilder(da)
bin.DataSource = dt

txtLANDID.DataBindings.Add("Text", bin, "LANDID")
txtPARCEL_CODE.DataBindings.Add("Text", bin, "PARCEL_CODE")
txtTAMBON_TH.DataBindings.Add("Text", bin, "TAMBON_TH")
txtDISTRICT_TH.DataBindings.Add("Text", bin, "DISTRICT_TH")
txtPROVINCE_TH.DataBindings.Add("Text", bin, "PROVINCE_TH")
txtUTM_CODE.DataBindings.Add("Text", bin, "UTM_CODE")
txtUTM_NO.DataBindings.Add("Text", bin, "UTM_NO")
txtUTM_PAGE.DataBindings.Add("Text", bin, "UTM_PAGE")
'txtUSED_DESC.DataBindings.Add("Text", bin, "USED_DESC")
'txtLDOC_TYPE.DataBindings.Add("Text", bin, "LDOC_TYPE")
'txtL_UTILIZATION.DataBindings.Add("Text", bine, "L_UTILIZATION")
txtSURVEY_NO.DataBindings.Add("Text", bin, "SURVEY_NO")
'txtLDOC_NO.DataBindings.Add("Text", bin, "USED_DESC")
txtLAND_NO.DataBindings.Add("Text", bin, "LDOC_NO")
txtDOL_RAI.DataBindings.Add("Text", bin, "DOL_RAI")
txtDOL_NGAN.DataBindings.Add("Text", bin, "DOL_NGAN")
txtDOL_WA.DataBindings.Add("Text", bin, "DOL_WA")
txtTAXED_RAI.DataBindings.Add("Text", bin, "TAXED_RAI")
txtTAXED_NGAN.DataBindings.Add("Text", bin, "TAXED_NGAN")
txtTAXED_WA.DataBindings.Add("Text", bin, "TAXED_WA")

End Sub

Private dtChange As DataTable


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

bin.EndEdit()
dtChange = dt.GetChanges
If dtChange IsNot Nothing Then
End If

Try
da.Update(dtChange)
da.InsertCommand = New SqlCommand()
dt.AcceptChanges()
Catch ex As SqlException
MessageBox.Show(ex.Message)
End Try

add_state = False
MessageBox.Show("บันทึกข้อมูลเสร็จแล้ว ", "แจ้งให้ทราบ", MessageBoxButtons.OK, MessageBoxIcon.Information)

'Call lock_object()
Call Show()
End Sub




Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click
addNewMode = True
currRecPos = bin.Position
bin.AddNew()

'EnabledReadWrite()


txtLANDID.Focus()
End Sub

Private Sub btnFirst_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnFirst.Click
bin.Position = 1
End Sub

Private Sub btnPrevious_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPrevious.Click

bin.Position -= 1
End Sub

Private Sub btnNext_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNext.Click

bin.Position += 1
End Sub

Private Sub btnLast_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLast.Click

bin.Position = bin.Count - 1
End Sub

Private Sub btndelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btndelete.Click

If dt.Rows.Count = 0 Then Exit Sub

If MessageBox.Show("ต้องการลบเรคอร์ดนี้ใช่หรือไม่?", "ยืนยันการลบ", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = vbYes Then
bin.RemoveCurrent()
currRecPos = bin.Position
End If

If dt.Rows.Count = 0 Then
'DisabledReadWrite()
End If

End Sub


Private Sub btnEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEdit.Click
If dt.Rows.Count <= 0 Then
Exit Sub
Else
addNewMode = False

'EnabledReadWrite()
currRecPos = bin.Position
txtLANDID.Focus()
End If

End Sub

Private Sub btnprint_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnprint.Click

End Sub
End Class
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-19 11:18:16 By : pisansri
 


 

No. 57



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



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

ถามพี watcharop นี่เเหละครับโค๊ดผมใส่ยังไงครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-19 11:19:21 By : pisansri
 


 

No. 58



โพสกระทู้ ( 1,348 )
บทความ ( 1 )



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


อยู่ใน btnSave_Click

Code (VB.NET)
Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click
Try
	' เปิดคอนเน็คชั่น da.Connection
	If da.Connection.State <> ... จำไม่ได้ Then
		da.Connection.Open()
	End If

	' อ่าน Primary ตัวสุดท้าย
	Dim sqlCmd As SqlCommand = da.Connection.CreateCommand()
	SQL = "SELECT PK=ISNULL((SELECT TOP 1 LANDID FROM LAND ORDER BY LANDID DESC),0), SysDate=GETDATE()"
	sqlCmd.CommandText = SQL
	Dim dread As SqlDataReader = sqlCmd.ExecuteReader()
	If dread.Read() Then
		NewID = dread("PK")
		SysDate = dread("SysDate")
	End If
	dread.Close()

	bin.EndEdit()

	dtChange = dt.GetChanges
	If dtChange IsNot Nothing Then
		Dim drow As DataRow
		For Each drow in dtChange.Rows
			blUpdate = False
			' ส่วนของการ Validate ข้อมูล
			If (drow.RowState And 20) > 0 Then
				' มีการแก้ไขหรือเพิ่มข้อมูล
				If <เงื่อนไขตรวจสอบความถูกต้องของข้อมูล 1> Then stErr += vbCrLf +"- ข้อผิดพลาด 1"
				If <เงื่อนไขตรวจสอบความถูกต้องของข้อมูล 2> Then stErr += vbCrLf +"- ข้อผิดพลาด 2"
				If stErr<>"" Then Throw New Exception(stErr)
				blUpdate = True	
			End If

			' ส่วนของการ Update User และวันที่
			If blUpdate Then
				If drow.RowState = DataRowStat.Added Then
					NewID += 1
					drow("LANDID") = NewID
					drow("usrInsert") = My.User.Name
					drow("dtInsert") = SysDate
				End If
				drow("usrModify") = My.User.Name
				drow("dtModify") = SysDate
			End If
		Next

		da.Update(dtChange)
		dt.AcceptChanges()	
		MessageBox.Show("บันทึกข้อมูลเสร็จแล้ว ", "แจ้งให้ทราบ", MessageBoxButtons.OK, MessageBoxIcon.Information)
	End If
	da.Connection.Close()

Catch ex As Exception
	MessageBox.Show(ex.Message)
End Try
Call Show()
End Sub




ประวัติการแก้ไข
2010-11-19 12:43:15
2010-11-19 12:55:58
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-19 12:35:59 By : watcharop
 


 

No. 59



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



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

systex error เต็มเลยครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-19 14:42:53 By : pisansri
 


 

No. 60



โพสกระทู้ ( 1,348 )
บทความ ( 1 )



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


มันก็จริง
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-19 15:30:44 By : watcharop
 


 

No. 61



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



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

ไม่ต้องเขียน โค๊ดหรอกครับ ผมทำได้ละ เเค่ไป SET ฐาน เป็น auto number ก้ได้เเล้วครับ

เหลือปุ่มลบ ครับ มันยังลบออกจากฐานยังไม่ได้ครับ ออกเเต่ในฟร์อม
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-19 15:46:58 By : pisansri
 


 

No. 62



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



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

ตอบความคิดเห็นที่ : 58 เขียนโดย : watcharop เมื่อวันที่ 2010-11-19 12:35:59
รายละเอียดของการตอบ ::
.อยากลองใช้วิธินี้อะ เเต่ systex error เต็มเลยครับ vs พี่ใช้ได้ยัง

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-23 14:53:24 By : pisansri
 


 

No. 63



โพสกระทู้ ( 1,348 )
บทความ ( 1 )



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


ตอบความคิดเห็นที่ : 62 เขียนโดย : pisansri เมื่อวันที่ 2010-11-23 14:53:24
รายละเอียดของการตอบ ::
ที่บ้านใช้ได้ แต่ที่ Office ใช้ไม่ได้ เพราะไม่ได้ลง VS ไว้
Office พี่ไม่ให้ลง เดี่ยวโดนเรียก


Code ที่ให้ไปเป็นแค่หลักการ
มันต้องแก้บ้าง ในบางจุด
ตัวแปรบางตัวยังไม่ประกาศ
หรือบางคำสั่งยังเขียนไม่สมบูรณ์ เว้นไว้ให้เติมเอง
อย่างแถวที่ 4, 29, 30 เนี่ยะ Syntax Error แน่ๆ

อีกอย่าง ถ้าเราสร้าง Primary Key "LANDID" เป็นแบบ AutoNumber แล้ว
ก็จะเกิด Runtime Error

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-23 15:19:09 By : watcharop
 


 

No. 64



โพสกระทู้ ( 1,348 )
บทความ ( 1 )



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


ถ้าจะบันทึกด้วยวิธีนี้ แล้วอยากถาม
ก็ตั้งกระทู้ใหม่ล่ะกันเนอะ
อันนี้มันยาวล่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-23 15:20:45 By : watcharop
 


 

No. 65

Guest


fake name brand bags watch brands swiss all watch brands.
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-08-10 07:31:47 By : margaret
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สอบถามปัญหาคำสั่ง เกี่ยวกับการเชื่อต่อฐาน MS SQL 2008 มันติดตรงนี้อะครับ da.Fill(ds, "MemberType")
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 04
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 อัตราราคา คลิกที่นี่