ADO世界之THIRD

目录

一、ADO 删除记录

二、ADO 加速脚本

1.多行 Response.Write

2.GetString() 方法


一、ADO 删除记录

使用 SQL 的 DELETE 命令来删除数据库表中的某条记录。

删除 Northwind 数据库的 Customers 表中的一条记录。

创建一个表格,来列出 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

%>

List Database

<%

for each x in rs.Fields

  response.write("

")

next

%>

<% do until rs.EOF %>

<%

for each x in rs.Fields

  if x.name="customerID" then%>

    

  <%else%>

    

  <%end if

next

%>

<%rs.MoveNext%>

<%

loop

conn.close

%>

" & ucase(x.name) & "

    

    

<%Response.Write(x.value)%>

点击 "customerID" 列中的按钮,会打开新文件 "demo_delete.asp"。此文件包含了创建输入域的源代码,这些输入域基于数据库中记录的字段,同时也含有一个删除当前记录的“删除按钮”:

Delete Record

<%

set conn=Server.CreateObject("ADODB.Connection")

conn.Provider="Microsoft.Jet.OLEDB.4.0"

conn.Open "c:/webdata/northwind.mdb"

cid=Request.Form("customerID"

if Request.form("companyname")="" then

  set rs=Server.CreateObject("ADODB.Recordset")

  rs.open "SELECT * FROM customers WHERE customerID='" & cid & "'",conn

  %>

  

  

  <%for each x in rs.Fields%>

  

  

  

  <%next%>

  

  

<%=x.name%>

  

  

  

<%

else

  sql="DELETE FROM customers"

  sql=sql & " WHERE customerID='" & cid & "'"

  on error resume next

  conn.Execute sql

  if err<>0 then

    response.write("No update permissions!")

  else

    response.write("Record " & cid & " was deleted!")

  end if

end if

conn.close

%>

二、ADO 加速脚本

使用 GetString() 方法来加速ASP 脚本(来代替多行的 Response.Write)。

1.多行 Response.Write

<%

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 Companyname, Contactname FROM Customers", conn

%>

<%do until rs.EOF%>

   

      

      

   

<%rs.MoveNext

loop%>

<%Response.Write(rs.fields("Companyname"))%> <%Response.Write(rs.fields("Contactname"))%>

<%

rs.close

conn.close

set rs = Nothing

set conn = Nothing

%>

对于一个大型的查询来说,这样做会增加脚本的处理时间,这是由于服务器需要处理大量的 Response.Write 命令。

2.GetString() 方法

GetString() 方法仅使用一次 Response.Write,就可以显示所有的字符串。甚至不需要 do..loop 代码以及条件测试来检查记录集是否处于 EOF。

语法

str = rs.GetString(format,rows,coldel,rowdel,nullexpr)

使用来自记录集的数据创建一个 HTML 表格,只需使用以上参数中的三个:

coldel - 用作列分隔符的 HTML

rowdel - 用作行分隔符的 HTML

nullexpr - 当列为空时所使用的 HTML

使用 GetString() 方法,把记录集存为一个字符串:

<%

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 Companyname, Contactname FROM Customers", conn

str=rs.GetString(,,"",""," ")

%>

  

    

  

<%Response.Write(str)%>

<%

rs.close

conn.close

set rs = Nothing

set conn = Nothing

%>

上面的变量 str 包含着由 SELECT 语句返回的所有列和行的一个字符串。在每列之间会出现 ,在每行之间会出现 。这样,仅使用一次 Response.Write,就得到了需要的 HTML。

你可能感兴趣的:(ADO,数据库,ADO,笔记,前端,html)