███小弟是个初学VB.Net的人,想对连数据库说几句███

拿棵草 2003-08-20 04:48:15
小弟是个初学VB.Net的人。这几天主要研究了一下数据库的连接。

以下是小弟对VB.Net中连接数据库的方法的理解,不知道对不对,请高手赐教!

1、一定要有一个OleDBDataAdapter对象;
2、也一定要有一个DataSet对象;
3、OleDBConnection对象可以没有。
因为连接时,可以这样:
Dim searchcmd = New OleDb.OleDbDataAdapter("select * from biao1", "Provider = Microsoft.Jet.OLEDB.4.0;data source= c:\a.mdb")
这样,就省去了定义OleDBConnection对象

以下,是小弟连接ACCESS,SQL SERVER,VFP数据库,并把数据库结果显示在DATAGRID中的代码:
'连SQL Server 2000
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim ds As New DataSet()
Dim con As New SqlClient.SqlConnection("server=c123;uid=sa;pwd=;database=northwind")
Dim daEmp As New SqlClient.SqlDataAdapter("Select * From Employees", con)
daEmp.Fill(ds, "Employees") '?如果你连接的是一张表的话,你可以:daEmp.Fill(ds)
DataGrid1.DataSource = ds
DataGrid1.DataMember = "Employees"
End Sub

'连接DBF数据库(需要安装MDAC2.7以上以及ODBC.NET)
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim sConnectionString As String = "Driver={Microsoft Visual FoxPro Driver};SourceType=DBF;SourceDB=C:\HHLIB;Exclusive=No;"
Dim objConn As New Microsoft.Data.Odbc.OdbcConnection(sConnectionString)
Dim ds As New DataSet()
objConn.Open()
Dim da As New Microsoft.Data.Odbc.OdbcDataAdapter("Select * From cc", objConn)
da.Fill(ds, "cc")
DataGrid1.DataSource = ds
DataGrid1.DataMember = "cc"
objConn.Close()
End Sub

'连ACCESS
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim searchSQLStr As String
Dim ds As New DataSet()
Dim searchcmd = New OleDb.OleDbDataAdapter("select * from biao1", "Provider = Microsoft.Jet.OLEDB.4.0;data source= c:\a.mdb")
searchcmd.Fill(ds, "biao1")
DataGrid1.DataSource = ds
DataGrid1.DataMember = "biao1"
Dim temp As String
temp = ds.Tables("biao1").Rows(5)!fld2
Debug.Write(temp)
End Sub

有一些不明白的地方:
1、OleDBCommand这个对象是否一定需要呢?在什么情况下一定需要呢?
2、我上面说的有不对的地方么?请大家帮我纠正!因为,我刚开始学,所以,想纠正一些错误的理解。

谢谢大家了! UP有分!
...全文
25 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
Meyer 2003-08-23
  • 打赏
  • 举报
回复
1、一定要有一个OleDBDataAdapter对象; //绕个弯的话,你就是使用dATASET也没有必要
2、也一定要有一个DataSet对象; //DataReader也一种选择
3、OleDBConnection对象可以没有。 //这个是一定得要
CMIC 2003-08-23
  • 打赏
  • 举报
回复
你理解的都不对,OleDBDataAdapter对象和DataSet对象都不一定要有,OleDBConnection对象
一定要有,
Dim searchcmd = New OleDb.OleDbDataAdapter("select * from biao1", "Provider = Microsoft.Jet.OLEDB.4.0;data source= c:\a.mdb")
也打开了一个连接。
youngby 2003-08-23
  • 打赏
  • 举报
回复
你看看MSDN
做一下《快速入门》就清楚了。。

首先你并不清楚ADO.NET的模型。
不是一句话说的清,建议看一下《ADO.NET程序设计》一书,很基础。

ACCESS的连接要用到OLEDB命名空间。
但是在.NET中有专门的SQLCLIENT命名空间,它不用通过OLEDB的。



---------------------------------
请高手给我介绍一下数据库操作的步骤好么?比如:添加记录的步骤、删除记录的步骤、修改记录的步骤。
只要用文字表示就可以了,程序就不用看了。
第一步:应该先建立一个............
第二步:应该建立一个.........



以上这些东西在MSDN的演练部分中有的...

albert2000 2003-08-21
  • 打赏
  • 举报
回复
怎么 datagrid.bind() 不绑定都可以显示出来啊?
用OleDbDataAdapter的话,不用OleDBCommand也可以,但是你要用OleDBCommand执行的话,把结果集放到dataset中则需要用OleDbDataAdapter.SelectCommand()=MyOleDBCommand过渡才可以。这是在查询中。
如果是执行增,删,改的话,OleDbCommand((strSQL, MyConnection)执行,然后OleDbCommand.ExecuteNonQuery()
拿棵草 2003-08-21
  • 打赏
  • 举报
回复
我有一点糊涂了!你们说我上面说的不对,那么,我想问一句,就拿我上面连ACCESS的例子来说吧,我没有用到OleDBCommand和OLEDBCONNECTION,为什么也能连接到数据库呢?而且能把数据显示在DATAGRID中?

我真的不是很清楚!望大家为我解开迷团!

3Q!
浩子 2003-08-21
  • 打赏
  • 举报
回复
访问数据有两种途径吧:P,
以SQL为例:

1、SQLConnection->SQLCommand->DataReader

2、SQLConnection->SQLDataAdapter->DataSet

拿棵草 2003-08-21
  • 打赏
  • 举报
回复
是啊,不用datagrid.bind() 也可以显示出来。不信你们试试。

请高手给我介绍一下数据库操作的步骤好么?比如:添加记录的步骤、删除记录的步骤、修改记录的步骤。
只要用文字表示就可以了,程序就不用看了。
第一步:应该先建立一个............
第二步:应该建立一个.........

可以这样告诉我么?谢谢!分不够再加!谢谢大家了!我真的是想把VB。NET数据库这块给搞清楚了!谢谢大家了!
sualtring 2003-08-20
  • 打赏
  • 举报
回复
捞分
拿棵草 2003-08-20
  • 打赏
  • 举报
回复
不是很清楚!能说的清楚一些么?
youngby 2003-08-20
  • 打赏
  • 举报
回复
1.错了。可以有SQLDATAADAPTER对象而没有OleDBDataAdapter对象。即是:SYSTEM.DATA.OLEDB 或SYSTEM.DATA.SQLCLIENT命名空间。
......

三点
都错了。。。
TreelightLSH 2003-08-20
  • 打赏
  • 举报
回复
up

16,553

社区成员

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

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