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 / 精选教程

浏览全部教程

HTML

CSS

JS

关于朱安邦

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

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

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

关注我: Github / 知乎

如果你加我的私人微信,麻烦写上您的 称呼,所在地区,职业,方便我备注,谢谢


本站的微信公众号

阿西河前端教程

Anbang

安邦的私人微信

微信号: yaolushan

Anbang

Bilibili(B站)

朱安邦

Anbang