ไม่รู้ว่าผมเข้าใจถูกหรือเปล่านะ แต่ผมรู้ว่าข้อมูลของคุณมันไม่ update ไช่ไหมครับ เวลา ดึงข้อมูลมาโชว์หลักจากการ เพิ่ม ลบ แก้ไข
- ปกติแล้ว ข้อมูลที่เราดึงขึ้นมาโชว์มันจะเก็บข้อมุลไว้ใน Data Set หรือ เก็บข้อมูลชั่วคราว โดยที่ไม่ได้เชื่อมต่อกับฐานข้อมูลตลอดเวลา
ลองดูโคดนี้นะครับ เผื่อนำไปประยุกต์ใช้งานได้
- ก็คือว่า เราจะต้องมีเงื่อนไข ตรวจสอบก่อนว่า Data Set (Table) นี้เคยเก็บข้อมูลไว้ก่อนแล้วหรือยัง
ถ้ามี ก็สั่งให้มัน Clear ก่อน แล้วค่อย คิวรี่ใหม่จาก Database
'------ Sample: -------
Option Explicit On
Option Strict On
Imports System.Data
Imports System.Data.SqlClient
_________________________________________________________________________________________________
Public Class frmMain
Dim Conn As New SqlConnection
Dim da As SqlDataAdapter
Dim ds As New DataSet
Dim IsFindCompany As Boolean = False 'ตัวแปรเก็บสถานะว่ามีการใช้งาน Data Set หรือยัง
Private Sub frmMain_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
With Conn
If .State = ConnectionState.Open Then .Close()
.ConnectionString = sqlConnString.strConn
.Open()
End With
Dim sql As String = "SELECT * FROM Company"
If IsFindCompany = True Then 'ตรวจสอบว่าถ้าสถานะ = true ให้ Clear DataSet (Table)
ds.Tables("Company").Clear()
End If
da = New SqlDataAdapter(sql, Conn)
da.Fill(ds, "Company")
If ds.Tables("Company").Rows.Count <> 0 Then
IsFindCompany = True 'เปลี่ยนสถานะ True
With cboCompany
.DataSource = ds.Tables("Company")
.DisplayMember = "Name"
.ValueMember = "ID"
End With
Else
IsFindCompany = False 'เปลี่ยนสถานะ False
End If
cboCompany.Text = ""
End Sub
________________________________________________________________________________________________