ADO在vb.net中的使用(与datagrid结合)

原创 2002年12月10日 09:07:00

在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

 

有关ActiveX控件中的DataGrid或ADO Data控件在vc++6.0和VS 版本中的使用

系统环境:Windows 7 + VC6.0 + VS2008 当在VC++6.0中"Project"-->"Add to Project"-->"Componets and Controls"--...
  • zhangyulin54321
  • zhangyulin54321
  • 2012年10月30日 16:54
  • 5942

VC中用ADO和DataGrid控件显示和更新数据库中的数据

VC中用ADO和DataGrid控件显示和更新数据库中数据。以VC6.0为例1、             新建一对话框在资源视图中新建一个对话框,将对话框调整到适当大小,双击对话框创建对话框类。2、...
  • BlueMap
  • BlueMap
  • 2010年07月06日 15:58
  • 7760

VB.NET必知必会(ADO.NET篇)

ADO相信我们都不陌生,那么ADO.NET和ADO是一种东西吗?我们来详细的看一下ADO.NET。       ADO.NET的名称起源于ADO(ActiveX Data Objects),是一个广...
  • kanglix1an
  • kanglix1an
  • 2012年12月16日 18:51
  • 5092

VB ADO连接DataGrid

工程-引用 Microsoft ActiveX Data Object2.8Dim cn As New ADODB.ConnectionDim rs As New ADODB.RecordsetPri...
  • jyh_jack
  • jyh_jack
  • 2008年03月12日 09:46
  • 1091

关于easyui的datagrid与combobox结合使用的问题

设置datagrid的beginEdit,才能显示combobox。
  • wxh820767125
  • wxh820767125
  • 2017年03月31日 14:13
  • 634

DataGrid的应用以及常用方法(Vb.Net版)

            Info_Manage                                http://schemas.microsoft.com/intellisense/ie5...
  • relaxmyself
  • relaxmyself
  • 2007年02月04日 11:51
  • 577

VB.net数据库编程中DataGrid控件的使用技巧

如何用同一个DataGrid显示不同的数据表;如何用DataGrid显示主表/明细表的内容;如何用DataGrid分页显示或编辑数据表的记录。这些技巧在开发数据库程序中很实用。 DataGrid是VB...
  • jxjxlc
  • jxjxlc
  • 2016年11月10日 11:25
  • 2418

ComboBox,DateTimePicker在DataGrid 中的運用(VB.NET)...

要想在DataGrid中運用ComboBox,DateTimePicker,我可以對System.Windows.Forms.DataGridColumnStyle進行重寫來做到....(C#部分請點...
  • zwxrain
  • zwxrain
  • 2005年01月19日 10:23
  • 9031

vb.net ADO快速读取excel

一:写在之前 其实我还在写erlang, vb什么的才和我没关系,要不是为了妹子,才不会看 二:关于vb的看法 感觉vb的资料非常乱,由于时间太久,而且有vb,vb.net的分别,需...
  • taitoubiyan1
  • taitoubiyan1
  • 2015年01月15日 20:26
  • 4667

vb 用ADODB.recordset对象绑定DATAGrid控件

这个问题难为我了大半天想来惭愧……经过查资料,和反复试验了多次不过问题总算解决了……把要点同大家分享一下 代码是write在模块中的Option Explicit===================...
  • D4444
  • D4444
  • 2008年05月27日 17:12
  • 5450
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ADO在vb.net中的使用(与datagrid结合)
举报原因:
原因补充:

(最多只允许输入30个字)