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

关于本站

阿西河前端教程more,是一个提供大前端开发教程的网站;这里不仅会有传统的WEB开发教程,还会包含Nodejs,Docker,云服务相关的介绍;

lagou