ADO 记录集

🌙
手机阅读
本文目录结构

ADO Recordset(记录集)

如需读取数据库的数据,那么其中的数据必须首先被载入一个记录集中。

创建一个 ADO 表记录集(ADO Table Recordset)

在 ADO 数据库连接创建之后,如上一章所述,接下来就可以建立一个 ADO 记录集了。

假设我们有一个名为 “Northwind” 的数据库,我们可以通过下面的代码访问数据库中的 “Customers” 表:

<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "c:/webdata/northwind.mdb"

set rs=Server.CreateObject("ADODB.recordset")
rs.Open "Customers", conn
%>

创建一个 ADO SQL 记录集 (ADO SQL Recordset)

我们也可使用 SQL 访问 “Customers” 表中的数据:

<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "c:/webdata/northwind.mdb"

set rs=Server.CreateObject("ADODB.recordset")
rs.Open "Select \* from Customers", conn
%>

从记录集中提取数据

在记录集被打开后,我们可以从记录集中提取数据。

假设我们用一个名为 “Northwind” 的数据库,我们可以通过下面的代码访问数据库中 “Customers” 表:

<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "c:/webdata/northwind.mdb"

set rs=Server.CreateObject("ADODB.recordset")
rs.Open "Select * from Customers", conn

for each x in rs.fields
  response.write(x.name)
  response.write(" = ")
  response.write(x.value)
next
%>

如何遍历 ADO 记录集?

下面这个问题是网上看到的,很多人可能也会遇到;

try {
    m_precordset->Open(_variant_t("data_shebei"),_variant_t((IDispatch*)conptr,true),adOpenKeyset,adLockOptimistic,adCmdTable);

    while(!m_precordset->GetadoEOF()) {
        FieldsPtr   fds=m_precordset->GetFields();
        int n = fds->GetCount();
        int c;
        CString ad;
        for(int   i=0;i<n;i++) {
            FieldPtr fd=fds->GetItem(_variant_t(short(i)));
            ad=(LPCTSTR)fd->GetName();
        }
        m_precordset->MoveNext();
    }
} catch (_com_error &e){

}

出现的问题是 ad 中只显示同一的字段名,如何进行遍历

解决的办法:(LPCTSTR)(_bstr_t) 强制转换解决了

AXIHE / 精选资源

浏览全部教程

面试题

学习网站

前端培训
自己甄别

前端书籍

关于朱安邦

我叫 朱安邦,阿西河的站长,在杭州。

以前是一名平面设计师,后来开始接接触前端开发,主要研究前端技术中的JS方向。

业余时间我喜欢分享和交流自己的技术,欢迎大家关注我的 Bilibili

关注我: Github / 知乎

于2021年离开前端领域,目前重心放在研究区块链上面了

我叫朱安邦,阿西河的站长

目前在杭州从事区块链周边的开发工作,机械专业,以前从事平面设计工作。

2014年底脱产在老家自学6个月的前端技术,自学期间几乎从未出过家门,最终找到了满意的前端工作。更多>

于2021年离开前端领域,目前从事区块链方面工作了