syntax error in INSERT INTO statement. นะครับ ใช้ OledbDataadapter ถ้าแก้ไขข้อมูลทำได้ แต่เพิ่มใหม่บันทึกไม่ได้นะครับ
Code (VB.NET)
Imports System.Data.OleDb
Public Class FormCompany
'Dim com As OleDbCommand
Dim da As New OleDbDataAdapter
Dim ds As New DataSet
Dim dv As New DataView()
Dim WithEvents objCurrenManager As CurrencyManager
Private Sub FormCompany_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim sqlCompany As String = "SELECT * FROM Company"
da.SelectCommand = New OleDbCommand(sqlCompany, Conn)
Try
da.Fill(ds, "Company")
dv = ds.Tables("Company").DefaultView
Catch ex As Exception
MessageBox.Show("เกิดข้อผิดพลาด เนื่องจาก " & ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
Exit Sub
End Try
txtCompanyID.DataBindings.Add("Text", dv, "CompanyID")
txtCompanyName.DataBindings.Add("Text", dv, "CompanyName")
txtAddress.DataBindings.Add("Text", dv, "Address")
txtTelephone.DataBindings.Add("Text", dv, "Telephone")
txtFax.DataBindings.Add("Text", dv, "Fax")
txtNote.DataBindings.Add("Text", dv, "Note")
cmbStatus.DataBindings.Add("Text", dv, "Status")
dgvCompany.DataSource = dv
objCurrenManager = CType(Me.BindingContext(dv), CurrencyManager)
objCurrenManager_PositionChanged(Nothing, Nothing)
end sub
Private Sub btnSave_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSave.Click
Try
Dim cmb As New OleDbCommandBuilder(da)
objCurrenManager.EndCurrentEdit()
Dim num As Integer = da.Update(ds, "Company")
MessageBox.Show("บันทึกการเปลี่ยนแปลงข้อมูลแล้ว จำนวนเรคอร์ที่มีการเปลี่ยนแปลงเท่ากับ " & num & " เรคอร์ด", "ผลการทำงาน", MessageBoxButtons.OK, MessageBoxIcon.Information)
Catch ex As OleDbException
MessageBox.Show("ไม่สามารถบันทึกได้เนื่องจาก " & ex.Message, "ผลการทำงาน", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub