| Public Class CDataBase Dim OleCnnDB As New OleDbConnection() '连接Oracle数据库,ServerName:服务器名,UserId:用户名,UserPwd:用户密码 Public Function ConnOracle(ByVal ServerName As String, ByVal UserId As String, ByVal UserPwd As String) As OleDbConnection Dim OleCnnDB As New OleDbConnection() With OleCnnDB .ConnectionString = "Provider=MSDAORA.1;Password='" & UserPwd & "';User ID='" & UserId & "';Data Source='" & ServerName & "'" Try .Open() Catch er As Exception MsgBox(er.ToString) End Try End With mOleCnnDB = OleCnnDB Return OleCnnDB End Function '获取数据集。TableName:表名,strWhere:条件 Public Overloads Function GetDataSet(ByVal TableName As String, ByVal strWhere As String) As DataSet Dim strSql As String Dim myDataSet As New DataSet() Dim myOleDataAdapter As New OleDbDataAdapter() myOleDataAdapter.TableMappings.Add(TableName, TableName) strSql = "SELECT * FROM " & TableName & " where " & strWhere myOleDataAdapter.SelectCommand = New OleDbCommand(strSql, mOleCnnDB) Try myOleDataAdapter.Fill(myDataSet) Catch er As Exception MsgBox(er.ToString) End Try Return myDataSet End Function '获取物理表。TableName:表名 Public Overloads Function GetDataTable(ByVal TableName As String) As DataTable Dim myDataSet As New DataSet() myDataSet = GetDataSet(TableName) Return myDataSet.Tables(0) End Function '获取物理表。TableName:表名,strWhere:条件 Public Overloads Function GetDataTable(ByVal TableName As String, ByVal strWhere As String) As DataTable Dim myDataSet As New DataSet() myDataSet = GetDataSet(TableName, strWhere) Return myDataSet.Tables(0) End Function '向物理表中插入一行数据。TableName:表名,Value:行数据,BeginColumnIndex:开始列 Public Overloads Function Insert(ByVal TableName As String, ByVal Value As Object, Optional ByVal BeginColumnIndex As Int16 = 0) As Boolean Dim myDataAdapter As New OleDbDataAdapter() Dim strSql As String Dim myDataSet As New DataSet() Dim dRow As DataRow Dim i, len As Int16 strSql = "SELECT * FROM " & TableName myDataAdapter.SelectCommand = New OleDbCommand(strSql, mOleCnnDB) Dim custCB As OleDbCommandBuilder = New OleDbCommandBuilder(myDataAdapter) myDataSet.Tables.Add(TableName) myDataAdapter.Fill(myDataSet, TableName) dRow = myDataSet.Tables(TableName).NewRow len = Value.Length For i = BeginColumnIndex To len - 1 If Not (IsDBNull(Value(i)) Or IsNothing(Value(i))) Then dRow.Item(i) = Value(i) End If Next myDataSet.Tables(TableName).Rows.Add(dRow) Try myDataAdapter.Update(myDataSet, TableName) Catch er As Exception MsgBox(er.ToString) Return False End Try myDataSet.Tables.Remove(TableName) Return True End Function '更新物理表的一个字段的值。strSql:查询语句,FieldName_Value:字段及与对应的值 Public Overloads Sub Update(ByVal strSql As String, ByVal FieldName_Value As String) Dim myDataAdapter As New OleDbDataAdapter() Dim myDataSet As New DataSet() Dim dRow As DataRow Dim TableName, FieldName As String Dim Value As Object Dim a() As String a = strSql.Split(" ") TableName = a(3) a = FieldName_Value.Split("=") FieldName = a(0).Trim Value = a(1) myDataAdapter.SelectCommand = New OleDbCommand(strSql, mOleCnnDB) Dim custCB As OleDbCommandBuilder = New OleDbCommandBuilder(myDataAdapter) myDataSet.Tables.Add(TableName) myDataAdapter.Fill(myDataSet, TableName) dRow = myDataSet.Tables(TableName).Rows(0) If Value <> Nothing Then dRow.Item(FieldName) = Value End If Try myDataAdapter.Update(myDataSet, TableName) myDataSet.Tables.Remove(TableName) Catch er As Exception MsgBox(er.ToString) End Try End Sub '删除物理表的数据。TableName:表名,strWhere:条件 Public Overloads Sub Delete(ByVal TableName As String, ByVal strWhere As String) Dim myReader As OleDbDataReader Dim myCommand As New OleDbCommand() Dim strSql As String strSql = "delete FROM " & TableName & " where " & strWhere myCommand.Connection = mOleCnnDB myCommand.CommandText = strSql Try myReader = myCommand.ExecuteReader() myReader.Close() Catch er As Exception MsgBox(er.ToString) End Try End Sub End Class |
[1] [2] [3] [4] [5] [6] [7] 下一页