Option Explicit On
Option Strict On
Imports System.Data
Imports System.Data.SqlClient
Imports MySql.Data.MySqlClient
Public Class connectionDB
Private connectionSQL As MySqlConnection
Private commandSQL As MySqlCommand
Private readerSQL As MySqlDataAdapter
Public Sub connectMySQL()
Try
connectionSQL = New MySqlConnection
connectionSQL.ConnectionString = "Data Source=localhost;Initial Catalog=Inventory;User ID=sa;Password=30082531"
If connectionSQL.State = ConnectionState.Closed Then
connectionSQL.Open()
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Public Sub closeSQL()
Try
connectionSQL.Close()
commandSQL.Cancel()
connectionSQL = Nothing
commandSQL = Nothing
readerSQL = Nothing
Catch ex As Exception
แต่ที่แน่ๆ คือ Class Form1 จะไม่สามารถใช้ connectionSQL commandSQL readerSQL ผ่าน acessMySQL ได้
เพราะไม่ถูกประกาศเป็นแบบ Public
ลองแบบนี้ดูครับ Code (VB.NET)
Option Explicit On
Option Strict On
Imports System.Data
Imports System.Data.SqlClient
Imports MySql.Data.MySqlClient
Friend Class connectionDB
Public connectionSQL As MySqlConnection
Public commandSQL As MySqlCommand
Public readerSQL As MySqlDataAdapter
Public Sub connectMySQL()
Try
connectionSQL = New MySqlConnection
connectionSQL.ConnectionString = "Data Source=localhost;Initial Catalog=Inventory;User ID=sa;Password=30082531"
If connectionSQL.State = ConnectionState.Closed Then
connectionSQL.Open()
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Public Sub closeSQL()
Try
connectionSQL.Close()
commandSQL.Cancel()
connectionSQL = Nothing
commandSQL = Nothing
readerSQL = Nothing
Catch ex As Exception
End Try
End Sub
End Class
Code (VB.NET)
Option Explicit On
Option Strict On
Imports System.Data
Imports System.Data.SqlClient
Imports MySql.Data.MySqlClient
Public Class Form1
Private Sub frmLogin_Load(sender As Object, e As EventArgs) Handles MyBase.Load
connectionDB.connectMySQL() 'ไม่จำเป็นต้องประกาศตัวแปร
End Sub
End Class
ประโยชน์คือ
ทุก class ที่เรียกใช้งาน connectionDB จะได้ใช้ properties เดียวกันต่อให้มี class เยอะแค่ไหนก็ตาม และสะดวกต่อเรียกใช้
ข้อเสียคือ
ทุก class ที่เรียกใช้งาน connectionDB จะได้ใช้ properties เดียวกันต่อให้มี class เยอะแค่ไหนก็ตาม