类库的使用!!!

cnwd 2006-06-28 07:46:36
前一阵在网上找到了一个数据库类的代码,如下:
我想用它来处理ACCESS数据库,可是不会用啊,哪位可以帮一下忙?最好能有各个功能的演示!
(忘了是哪位大虾的杰作了,希望他也能看到)
...全文
384 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
cnwd 2006-07-03
  • 打赏
  • 举报
回复
唉!
大家拉一把吧
HAVENT 2006-07-03
  • 打赏
  • 举报
回复
楼主会基本的数据库连接吗,类库肯定也提供了这些

只要会基本数据库操作,使用类库没什么难度
cnwd 2006-07-01
  • 打赏
  • 举报
回复
UP
cnwd 2006-06-30
  • 打赏
  • 举报
回复
mll5644(C++ primer)

你的代码是怎么用的啊
最好能绑定到 Datagridview
谢谢
cnwd 2006-06-29
  • 打赏
  • 举报
回复
高手多多啊!
先去试试看
mll5644 2006-06-29
  • 打赏
  • 举报
回复
Imports System.Data
Imports System.Data.SqlClient
Imports System.Data.OleDb

Namespace DBAccess

Public Class SqlAccess

Private m_strConnection As String
Private m_Connect As SqlConnection
Private m_Command As SqlCommand
Private m_Ada As SqlDataAdapter
Private m_Bld As SqlCommandBuilder
Public m_DS As DataSet

Public Sub New(ByVal strConn As String)
m_strConnection = strConn
m_Connect = New SqlConnection(ConnectionString)
m_Command = New SqlCommand
m_Command.Connection = m_Connect
m_Ada = New SqlDataAdapter(m_Command)
m_Bld = New SqlCommandBuilder(m_Ada)
m_DS = New DataSet
End Sub

Public Function RunSqlNonQuery(ByVal sql As String) As Integer
Dim iRow As Integer = 0
Try
m_Connect.ConnectionString = m_strConnection
m_Command.CommandText = sql
m_Connect.Open()
iRow = m_Command.ExecuteNonQuery()
m_Connect.Close()
Return iRow
Catch ex As Exception
Return iRow
End Try
End Function

Public Function RunSqlToDS(ByVal sql As String, ByVal tabName As String) As Integer
Dim iRow As Integer = 0
Try
m_Connect.ConnectionString = m_strConnection
m_Command.CommandText = sql
iRow = m_Ada.Fill(m_DS, tabName)
Return iRow
Catch ex As Exception
Return iRow
End Try
End Function

Public Function RunToScalar(ByVal sql As String) As Object
Dim obj As Object = Nothing
Try
m_Connect.ConnectionString = m_strConnection
m_Command.CommandText = sql
m_Connect.Open()
obj = m_Command.ExecuteScalar
m_Connect.Close()
Return obj
Catch ex As Exception
Return obj
End Try
End Function

Public Function RunToReader(ByVal sql As String) As SqlDataReader
Try
m_Command.CommandText = sql
Return m_Command.ExecuteReader()
Catch ex As Exception
Return Nothing
End Try
End Function

Public Sub Close()
m_Connect.Close()
End Sub

Public Sub Open()
m_Connect.Open()
End Sub

Public Sub RemoveTab(ByVal tabName As String)
m_DS.Tables.Remove(tabName)
End Sub

Public Function Updata(ByVal tabName As String) As Integer
Dim iRow As Integer = 0
Try
iRow = m_Ada.Update(m_DS, tabName)
Return iRow
Catch ex As Exception
Return iRow
End Try
End Function

Public Property ConnectionString() As String
Get
Return m_strConnection
End Get
Set(ByVal Value As String)
m_strConnection = Value
End Set
End Property

End Class

Public Class OleDbAccess

Private m_strConnection As String
Private m_Connect As OleDbConnection
Private m_Command As OleDbCommand
Private m_Ada As OleDbDataAdapter
Private m_Bld As OleDbCommandBuilder
Public m_DS As DataSet

Public Sub New(ByVal strConn As String)
m_strConnection = strConn
m_Connect = New OleDbConnection(ConnectionString)
m_Command = New OleDbCommand
m_Command.Connection = m_Connect
m_Ada = New OleDbDataAdapter(m_Command)
m_Bld = New OleDbCommandBuilder(m_Ada)
m_DS = New DataSet
End Sub

Public Function RunSqlNonQuery(ByVal sql As String) As Integer
Dim iRow As Integer = 0
Try
m_Connect.ConnectionString = m_strConnection
m_Command.CommandText = sql
m_Connect.Open()
iRow = m_Command.ExecuteNonQuery()
m_Connect.Close()
Return iRow
Catch ex As Exception
Return iRow
End Try
End Function

Public Sub Close()
m_Connect.Close()
End Sub

Public Sub Open()
m_Connect.Open()
End Sub

Public Function RunSqlToDS(ByVal sql As String, ByVal tabName As String) As Integer
Dim iRow As Integer = 0
Try
m_Connect.ConnectionString = m_strConnection
m_Command.CommandText = sql
iRow = m_Ada.Fill(m_DS, tabName)
Return iRow
Catch ex As Exception
Return iRow
End Try
End Function

Public Function RunToScalar(ByVal sql As String) As Object
Dim obj As Object = Nothing
Try
m_Connect.ConnectionString = m_strConnection
m_Command.CommandText = sql
m_Connect.Open()
obj = m_Command.ExecuteScalar
m_Connect.Close()
Return obj
Catch ex As Exception
Return obj
End Try
End Function

Public Function RunToReader(ByVal sql As String) As OleDbDataReader
Try
m_Command.CommandText = sql
Return m_Command.ExecuteReader
Catch ex As Exception
Return Nothing
End Try
End Function

Public Sub RemoveTab(ByVal tabName As String)
m_DS.Tables.Remove(tabName)
End Sub

Public Function Updata(ByVal tabName As String) As Integer
Dim iRow As Integer = 0
Try
iRow = m_Ada.Update(m_DS, tabName)
Return iRow
Catch ex As Exception
Return iRow
End Try
End Function

Public Property ConnectionString() As String
Get
Return m_strConnection
End Get
Set(ByVal Value As String)
m_strConnection = Value
End Set
End Property

End Class

End Namespace

cnwd 2006-06-28
  • 打赏
  • 举报
回复
thank
aSalt 2006-06-28
  • 打赏
  • 举报
回复
dim db as new DBDriver(DBList.Access, YourConnectionString)

dim dt as new DataTable;
db.Requery_ACC(some_Sql_string, dt)

Datagridview.dataSource = dt
cnwd 2006-06-28
  • 打赏
  • 举报
回复
能否给一个完整的例子阿,分数不是问题
aSalt 2006-06-28
  • 打赏
  • 举报
回复
dim dt as new DataTable '对了,这里要加个NEW关键字
cnwd 2006-06-28
  • 打赏
  • 举报
回复
!!
dim dt as DataTable;
dt怎么....
aSalt 2006-06-28
  • 打赏
  • 举报
回复
dim dt as DataTable;

Requery_ACC( some_Sql_string, dt)

Datagridview.dataSource = dt
cnwd 2006-06-28
  • 打赏
  • 举报
回复

要是想将数据库的内容绑定到Datagridview,该怎么使用这个类库?
aSalt 2006-06-28
  • 打赏
  • 举报
回复
Optional ByRef EffectRows As Integer = 0 ?
--------------------------------


dim i as integer;

Execute_ACC(some_SQL_string, i)
.....//执行

MessageBox.Show(i.ToString()) '返回受影响的行数, 默认0行受影响

aSalt 2006-06-28
  • 打赏
  • 举报
回复

其中 Mutex 用的感觉不是很好....

用在这里可能是一个严重的错误, 建议你把关于Mutex的代码删除
cnwd 2006-06-28
  • 打赏
  • 举报
回复
Execute_ACC 的

Execute_ACC(ByVal SQLString As String, Optional ByRef EffectRows As Integer = 0)
ByVal SQLString As String ?
Optional ByRef EffectRows As Integer = 0 ?
aSalt 2006-06-28
  • 打赏
  • 举报
回复

实例化Public Sub New(ByVal DBType As DBList, ByVal DBConnectionString As String)
类,参数是
1, DBList.ACCESS (打点出东西),
2,连接字符串: 这个例子给的ACCESS的给的太夸张了.

然后只有两个方法,一个执行SQL语句,很简单
Private Sub Execute_ACC
一个查询
Private Sub Requery_ACC
amandag 2006-06-28
  • 打赏
  • 举报
回复
up
zhaooloved1 2006-06-28
  • 打赏
  • 举报
回复
这个类的使用能做什么呢,只能简单单表的查询更改,删除吧,比如我有一个SQL,SQL中有JOIN,更新恐怕不能做到吧.
cnwd 2006-06-28
  • 打赏
  • 举报
回复
代码有点长!
加载更多回复(2)

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧