參數結構
Public Structure PublicApplicationVal
Public DbServer As String
Public UserId As String
Public UserPWD As String
Public DBase As String
Public DBTable As String
Public QueryFieldName As String
Public QueryFieldValue As String
End Structure
核心類別 DBaseBindComm
Imports System.Data.SqlClient
Public Class DBaseBindComm
Private connStr As String
Private conn As SqlConnection
Private adapter As SqlDataAdapter
Private cmd As SqlCommand
Private builder As SqlCommandBuilder
Private ds As DataSet
Public Sub New(ByVal val As PublicApplicationVal)
connStr = String.Format("Data Source={0};Initial Catalog={1};User ID={2};Password={3};", _
val.DbServer, val.DBase, val.UserId, val.UserPWD)
conn = New SqlConnection(connStr)
End Sub
Public Function ExecuteQuery(ByVal sql As String) As DataSet
ds = New DataSet()
adapter = New SqlDataAdapter(sql, conn)
adapter.Fill(ds)
Return ds
End Function
Public Function ExecuteNonQuery(ByVal sql As String) As Integer
cmd = New SqlCommand(sql, conn)
conn.Open()
Dim ret = cmd.ExecuteNonQuery()
conn.Close()
Return ret
End Function
' 可擴充:交易控制、參數化命令、DataReader、BulkCopy 等
End Class
使用範例
Dim cfg As New PublicApplicationVal With {
.DbServer = ".", .DBase = "Northwind", .UserId = "sa", .UserPWD = ""
}
Dim db As New DBaseBindComm(cfg)
Dim ds = db.ExecuteQuery("SELECT * FROM Customers WHERE Country = 'USA'")
DataGrid1.DataSource = ds.Tables(0).DefaultView
DataGrid1.DataBind()