16,554
社区成员
发帖
与我相关
我的任务
分享
Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim sql = "insert into loginuser (userName,[passWord]) values(@account,@password)"
sql = String.Format(sql, "1", "2")
Dim list As New ArrayList
list.Add(New OleDb.OleDbParameter("@account", "abe"))
list.Add(New OleDb.OleDbParameter("@password", "cde"))
Try
Dim result = ComData.insertData(sql, ComData.getLocalConn, list)
' Dim myReader = ComData.getDataReader(sql, ComData.getLocalConn, list)
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub
'以前用过的。。
Imports System.Configuration
Imports System.Data.OleDb
Imports System.Xml
Public Class ComData
Public Shared localConnString As String = readConfig("localConnectionString")
Public Shared serverConnString As String = readConfig("serverConnectionString")
' 取得本地连接
Public Shared Function getLocalConn() As OleDbConnection
Dim connection As OleDbConnection = Nothing
Try
connection = New OleDbConnection(localConnString)
Catch ex As Exception
MsgBox(ex.ToString)
End Try
Return connection
End Function
' 取得服务器连接
Public Shared Function getServerConn() As OleDbConnection
Dim connection As OleDbConnection = Nothing
Try
connection = New OleDbConnection(serverConnString)
Catch ex As Exception
MsgBox(ex.ToString)
End Try
Return connection
End Function
' 取得服务器连接(指定参数)
Public Shared Function getServerConn(ByVal specifiedConnString As String)
Dim connection As OleDbConnection = Nothing
Try
connection = New OleDbConnection(specifiedConnString)
Catch ex As Exception
MsgBox(ex.ToString)
End Try
Return connection
End Function
' 执行一句更新SQL,返回执行影响的纪录数
Public Shared Function updateData(ByVal sql As String, ByVal conn As OleDbConnection) As Integer
Dim myCommand As OleDbCommand
Dim updateCounts = 0
Try
myCommand = New OleDbCommand(sql)
myCommand.Connection = conn
conn.Open()
updateCounts = myCommand.ExecuteNonQuery()
myCommand.Connection.Close()
Catch ex As Exception
MsgBox(ex.Message)
Finally
If Not conn Is Nothing Then
conn.Close()
End If
End Try
Return updateCounts
End Function
' 执行一句删除SQL,返回执行影响的纪录数
Public Shared Function deleteData(ByVal sql As String, ByVal conn As OleDbConnection) As Integer
Dim myCommand As OleDbCommand
Dim deleteCounts = 0
Try
myCommand = New OleDbCommand(sql)
myCommand.Connection = conn
conn.Open()
deleteCounts = myCommand.ExecuteNonQuery()
myCommand.Connection.Close()
Catch ex As Exception
MsgBox(ex.Message)
Finally
If Not conn Is Nothing Then
conn.Close()
End If
End Try
Return deleteCounts
End Function
' 执行一句插入SQL,返回插入后第一行第一列的数值,通常为ID
Public Shared Function insertData(ByVal sql As String, ByVal conn As OleDbConnection, ByVal values As ArrayList) As Integer
Dim myCommand As OleDbCommand
Dim lastInsertId = 0
Try
myCommand = New OleDbCommand(sql)
myCommand.Connection = conn
setParameters(values, myCommand)
conn.Open()
myCommand.ExecuteNonQuery()
myCommand.CommandText = "SELECT @@IDENTITY"
lastInsertId = myCommand.ExecuteScalar()
myCommand.Connection.Close()
Catch ex As Exception
MsgBox(ex.Message)
Finally
If Not conn Is Nothing Then
conn.Close()
End If
End Try
Return lastInsertId
End Function
' 根据特定查询得到一个数据库某表某行某字段的VALUE
Public Shared Function getDataValue(ByVal sql As String, ByVal conn As OleDbConnection) As String
Dim myCommand As OleDbCommand
Dim returnStr = ""
Try
myCommand = New OleDbCommand(sql)
myCommand.Connection = conn
conn.Open()
returnStr = myCommand.ExecuteScalar()
myCommand.Connection.Close()
Catch ex As Exception
MsgBox(ex.Message)
Finally
If Not conn Is Nothing Then
conn.Close()
End If
End Try
Return returnStr
End Function
' 根据指定查询SQL,得到一个DATA READER,这个DR将会在关闭同时自动关闭CONN
Public Shared Function getDataReader(ByVal sql As String, ByVal conn As OleDbConnection, ByVal values As ArrayList) As OleDbDataReader
Dim myReader As OleDbDataReader = Nothing
Try
conn.Open()
Dim cmd As OleDbCommand = New OleDbCommand(sql, conn)
setParameters(values, cmd)
myReader = cmd.ExecuteReader(CommandBehavior.CloseConnection)
Catch ex As Exception
MsgBox(ex.ToString)
conn.Close()
End Try
Return myReader
End Function
Private Shared Sub setParameters(ByVal values As ArrayList, ByRef cmd As OleDbCommand)
For Each r As OleDb.OleDbParameter In values
cmd.Parameters.Add(r)
Next
End Sub
'读取配置文件
Public Shared Function readConfig(ByVal strKey As String) As String
Dim strReturn As String
Dim appReader As AppSettingsReader = New AppSettingsReader()
Try
strReturn = appReader.GetValue(strKey, Type.GetType("System.String")).ToString()
Catch ex As Exception
strReturn = ex.Message.ToString()
Finally
appReader = Nothing
End Try
Return strReturn
End Function
' 读取配置文件中某个设置里面的某个数值
Public Shared Function readConfigSubValue(ByVal configValue As String, ByVal subKey As String) As String
Dim subConfigArr = configValue.Split(";")
For Each subConfig In subConfigArr
Dim tmpArr = subConfig.Split("=")
If (tmpArr(0).Trim().ToString = subKey) Then
Return tmpArr(1)
End If
Next
Return ""
End Function
End Class