» tutu 退出 | 控制面板 | 短消息 | 搜索 | 社区服务 | 帮助
智慧园 论坛 » 〖快乐编程〗 » ADO在vb.net中的使用
--> 本页主题: ADO在vb.net中的使用 加为IE收藏 | 收藏主题 | 上一主题 | 下一主题

tutu




级别: 新手上路
精华: 0
发帖: 2
威望指数: 1 点
金钱: 3 A币
营销积分: 0 分
在线时间:2(小时)
注册时间:2008-10-25


ADO在vb.net中的使用


在VB6 在,ADO是大家在数据库编程中用得较多的。而在新的vb.net中,虽然也可以用它来查询数据库,但在与新的datagrid的绑定中,不能像以前那样使用:“datagrid1.datasoure=rs”,而是需要一定的转化。因为新的datagrid.datasoure所对应的是 datatable或dataset,而并不是原来的Recordset。所以,在使用中,要把Recordset转换成datatable或 dataset。我们以datatable为例:
 
以下为引用的内容:
Function RecordsetToDataTable(ByVal adoRS As ADODB.Recordset, ByVal strTable As String)
 
  adoRS.MoveFirst()
  Dim dt As DataTable
  dt = New DataTable(strTable)
  Dim i As Integer
  Dim strcolname As String
  Dim t As Type
  Dim dr As DataRow
 
  For i = 0 To adoRS.Fields.Count - 1
  strcolname = adoRS.Fields(i).Name
  t = adoRS.Fields(i).Value.GetType()
  dt.Columns.Add(strcolname, t)
  Next   
 
  While (Not adoRS.EOF)
  dr = dt.NewRow()
  For i = 0 To adoRS.Fields.Count - 1
  dr(i) = adoRS.Fields(i).Value
  Next
  dt.Rows.Add(dr)
  adoRS.MoveNext()
  End While
 
  Return dt
 
  End Function
 
以上函数是实现将Recordset转换成DataTable
 
而我们要做的,就是在窗口的load中加入对ADO中的转化后再进行引用。
 
以下为引用的内容:
  Dim dts As DataTable
 
  dts = RecordsetToDataTable(rsuser, "login") '其中rsuser为ado.Recordset,"login"为表名
  DataGrid1.DataSource = dts.DefaultView

顶端 Posted:2008-10-27 14:02 | [楼 主]

 智慧园 论坛 -> 〖快乐编程〗
快速发帖 顶端
内容
HTML 代码不可用

使用签名
Wind Code自动转换

字数检查 恢复数据
按 Ctrl+Enter 直接提交
表情 [更多]