我正在学习面向对象的编程。我的应用程序基于两个MySQL数据库。所以我得到了一些记录,经常将一些数据插入我的数据库。
有一个名为MySQL
的课程是否正确?这是一个非常简单的类,只有两种方法 - Connect()
和Disconnect()
。该课程如下所示:
Imports MySql.Data.MySqlClient
Public Class MySQL
Private csJablotron As String = My.Settings.csJablotron
Private csBCS As String = My.Settings.csBCS
Private _connection As MySqlConnection
Public ReadOnly Property Connection() As MySqlConnection
Get
Return _connection
End Get
End Property
Public Sub Connect(shop As String)
Select Case shop
Case "jablotron"
_connection = New MySqlConnection(csJablotron)
Case "bcs"
_connection = New MySqlConnection(csBCS)
Case Else
MessageBox.Show("There is no shop with this name.")
Exit Sub
End Select
Try
_connection .Open()
Catch ex As MySqlException
MessageBox.Show(ex.Message)
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
Public Sub Disconnect()
Try
_connection .Dispose()
Catch ex As MySqlException
MessageBox.Show(ex.Message)
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
End Class
然后在我的主程序中,当我需要使用我的数据库时,我只是这样做:
Try
mySql.Connect("bcs") 'mySql is an object of MySQL class
...
'here I select some records and do something with them...
Catch
MessageBox.Show("Error")
Finally
mySql.Disconnect()
End Try
面向对象编程是否正确?或者更好的是,当我需要数据库连接时,总是使用using
语句,并在那里创建连接字符串,甚至不用这个班?我知道这是一个理论问题,但我很好奇什么是更好的。
答案 0 :(得分:1)
抽象你的持久层(数据库)总是 一个好主意。所以,请保持你的课程!
我会推荐一些东西:
using
,则仅使用IDisposable
语句才有意义。除此以外;你的方法很好。否则;你走在正确的轨道上。