VB6.0 如何是用 datatable

11 篇文章 4 订阅

这里介绍新的datagrid.datasoure所对应的是VB6.0 datatable或dataset,而并不是原来的Recordset。所以,在使用中,要把Recordset转换成VB6.0 datatable或dataset。

 

VB6.0还是比较常用的,于是我研究了一下VB6.0 datatable,在这里拿出来和大家分享一下,希望对大家有用。

 

在VB6.0在,ADO是大家在数据库编程中用得较多的。而在新的vb.net中,虽然也可以用它来查询数据库,但在与新的datagrid的绑定中,不能像以前那样使用:“datagrid1.datasoure=rs”,而是需要一定的转化。因为新的datagrid.datasoure所对应的是VB6.0 datatable或dataset,而并不是原来的Recordset。所以,在使用中,要把Recordset转换成VB6.0 datatable或 dataset。我们以VB6.0 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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蓝图

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值