日期:2014-05-18  浏览次数:20360 次

一个比较简单的数据库的访问问题,环境:vs2005,语言:vb,数据库:oracle 10g
我是一个新手,现在想实现如下的功能:
开发环境是visual Studio 2005,语言是vb,数据库是oracle 10g。
我想链接oracle数据库,并可以读取、修改、添加、删除数据,另外需要引用的类麻烦也给说说。
我从书上看到需要用到Connection对象,Command对象,DataReader对象,DataAdapter对象,
DataSet对象,DataView对象,希望这几个对象的常用方法都能举出简单的例子来说明一下。

请哪位高手在百忙之中给写一个小例子,另外麻烦注释一下,我怕我看不懂。

谢谢!非常感谢!

------解决方案--------------------
我用的时C# + SQL SERVER 2005 
在此我就不写代码了,我只给你说一下他们的用途
Connection定义一个连接
Command通过Connection的发布命令,
DataReader是读取数据库里的数据,但不保存,
DataAdapter可以看作是个桥梁,把数据库里的数据读取出来放到Dataset中,
DataView是把Datatable中的数据按照要求提取出来,
学数据库的话一定把这四个命令彻底弄透,这是ADO.NET的核心

dateset可以理解为是内存中的数据库,用DataAdapter把真实数据库的东西提取后就放在Dataset中,就可以与数据库断开连接
需要更新的时候再去连接就行了

你用的是Oracle,再.NET直接提供了连接Oracle的类,很方便的,也可以用Oledb去连接
------解决方案--------------------
VS.Net2005连接Oracle数据库 
http://blog.csdn.net/octverve/archive/2007/10/03/1810416.aspx
------解决方案--------------------
察看以下Petshop的数据层,有关于oracle的方法,楼上提到的也要察看以下
还有你可能要添加oracle的DLL引用
------解决方案--------------------
不管是连接什么数据库 基本操作是一样的 无非连接字符串不同 sql语句有不同的写法
另外如果是连oracle数据库 电脑要装oracle客户端
------解决方案--------------------
这个是核心:
Connection定义一个连接 
Command通过Connection的发布命令, 
DataReader是读取数据库里的数据,但不保存, 
DataAdapter可以看作是个桥梁,把数据库里的数据读取出来放到Dataset中, 
DataView是把Datatable中的数据按照要求提取出来, 
学数据库的话一定把这四个命令彻底弄透,这是ADO.NET的核心 

dateset可以理解为是内存中的数据库,用DataAdapter把真实数据库的东西提取后就放在Dataset中,就可以与数据库断开连接 
需要更新的时候再去连接就行了
------解决方案--------------------
'数据库的连接
Public Function ConnectionDB(ByVal strConnection As String) As OracleConnection
Dim conn As OracleConnection = New OracleConnection(strConnection)
Try
conn.Open()
Catch ex As Exception
MsgBox(ex.Message.ToString)
conn.Close()
End Try
Return conn
End Function
'执行sql语句
Public Sub CommandSQL(ByVal StrSql As String, ByVal ConnectionStr As String)
Dim dbcommand As OracleCommand = New OracleCommand(StrSql, ConnectionDB(ConnectionStr))
Try
dbcommand.ExecuteNonQuery()
ConnectionDB(ConnectionStr).Close()
Catch ex As Exception
MsgBox(ex.Message.ToString)
ConnectionDB(ConnectionStr).Close()
End Try
End Sub
'得到查询语句的数据集
Public Function GetData(ByVal ConnectionStr As String) As DataSet
Dim strTable As String
Dim strTableName As String
strTable = "SELECT * FROM aaa"
strTableName = "aaa"
Dim dbAdapter As OracleDataAdapter = New OracleDataAdapter(strTable, ConnectionDB(ConnectionStr))
Dim da As DataSet = New DataSet()
dbAdapter.Fill(da, strTableName)
Return da
End Function
'将数据显示到GridView
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles VIewData.Click
GridView1.DataSource = GetData(ConnectionStr)
GridView1.DataBind()
ConnectionDB(ConnectionStr).Close()
End Sub
'编辑数据,这是添加数据,删除和更新换成相应的语句即可
Protected Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles AddData.Click
Dim sbSql As StringBuilder = New StringBuilder

sbSql.Append("INSERT INTO bbb ")

sbSql.Append("(a1, a2, a3)")
sbSql.Append("VALUES (")
sbSql.Append("'" + Trim(a1.Text) + "',")