ADO世界之SECOND

目录

一、ADO 排序记录

1.对数据进行排序

2.根据指定的字段名处对记录进行升序排序

3.根据指定的字段名处对记录进行降序排序

4.让用户来选择根据哪列进行排序

二、ADO 添加记录

1.向数据库中的表添加记录

2.使用 INSERT command 命令时的注意事项

3.无数据字段

三、ADO 更新记录

1.更新数据库表中的记录


一、ADO 排序记录

使用SQL来规定如何对记录集中的数据进行排序。

1.对数据进行排序

显示 "Customers" 表中的"Companyname"和"Contactname"字段,并根据"Companyname"进行排序(请记得用.asp为后缀保存):

<html>

<body>

<%

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")

sql="SELECT Companyname, Contactname FROM

Customers ORDER BY CompanyName"

rs.Open sql, conn

%>

<table border="1" width="100%">

  <tr>

  <%for each x in rs.Fields

    response.write("<th>" & x.name & "</th>")

  next%>

  </tr>

  <%do until rs.EOF%>

    <tr>

    <%for each x in rs.Fields%>

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

    <%next

    rs.MoveNext%>

    </tr>

  <%loop

  rs.close

  conn.close%>

</table>

</body>

</html>

2.根据指定的字段名处对记录进行升序排序

<html>

<body>

<%

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

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

conn.Open(Server.Mappath("/db/northwind.mdb"))

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

sql="SELECT Companyname, Contactname FROM Customers ORDER BY CompanyName"

rs.Open sql, conn

%>

<table border="1" width="100%">

<tr>

<%for each x in rs.Fields

    response.write("<th>" & x.name & "</th>")

next%>

</tr>

<%do until rs.EOF%>

    <tr>

    <%for each x in rs.Fields%>

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

    <%next

    rs.MoveNext%>

    </tr>

<%loop

rs.close

conn.close

%>

</table>

</body>

</html>

3.根据指定的字段名处对记录进行降序排序

<html>

<body>

<%

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

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

conn.Open(Server.Mappath("/db/northwind.mdb"))

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

sql="SELECT Companyname, Contactname FROM Customers ORDER BY CompanyName DESC"

rs.Open sql, conn

%>

<table border="1" width="100%">

<tr>

<%for each x in rs.Fields

    response.write("<th>" & x.name & "</th>")

next%>

</tr>

<%do until rs.EOF%>

    <tr>

    <%for each x in rs.Fields%>

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

    <%next

    rs.MoveNext%>

    </tr>

<%loop

rs.close

conn.close

%>

</table>

</body>

</html>

4.让用户来选择根据哪列进行排序

<html>

<body>

<table border="1" width="100%" bgcolor="#fff5ee">

<tr>

<th align="left" bgcolor="#b0c4de">

<a href="/example/adoe/demo_adoe_sort_3.asp?sort=companyname">Company</a>

</th>

<th align="left" bgcolor="#b0c4de">

<a href="/example/adoe/demo_adoe_sort_3.asp?sort=contactname">Contact</a>

</th>

</tr>

<%

if request.querystring("sort")<>"" then

   sort=request.querystring("sort")

else

   sort="companyname"

end if

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

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

conn.Open(Server.Mappath("/db/northwind.mdb"))

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

sql="SELECT Companyname,Contactname FROM Customers ORDER BY " & sort

rs.Open sql,conn

do until rs.EOF

   response.write("<tr>")

   for each x in rs.Fields

     response.write("<td>" & x.value & "</td>")

   next

   rs.MoveNext

   response.write("</tr>")

loop

rs.close

conn.close

%>

</table>

</body>

</html>

二、ADO 添加记录

使用 SQL 的 INSERT INTO 命令向数据库中的表添加记录。

1.向数据库中的表添加记录

向 Northwind 数据库中的 Customers 表添加一条新的记录。

首先要创建一个表单,这个表单包含了从中搜集数据的输入域:

<html>

<body>

<form method="post" action="demo_add.asp">

<table>

<tr>

<td>CustomerID:</td>

<td><input name="custid"></td>

</tr><tr>

<td>Company Name:</td>

<td><input name="compname"></td>

</tr><tr>

<td>Contact Name:</td>

<td><input name="contname"></td>

</tr><tr>

<td>Address:</td>

<td><input name="address"></td>

</tr><tr>

<td>City:</td>

<td><input name="city"></td>

</tr><tr>

<td>Postal Code:</td>

<td><input name="postcode"></td>

</tr><tr>

<td>Country:</td>

<td><input name="country"></td>

</tr>

</table>

<br /><br />

<input type="submit" value="Add New">

<input type="reset" value="Cancel">

</form>

</body>

</html>

当用户按下确认按钮时,这个表单就会被送往名为 "demo_add.asp" 的文件。文件 "demo_add.asp" 中含有可向 Customers 表添加一条新记录的代码:

<html>

<body>

<%

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

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

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

sql="INSERT INTO customers (customerID,companyname,"

sql=sql & "contactname,address,city,postalcode,country)"

sql=sql & " VALUES "

sql=sql & "('" & Request.Form("custid") & "',"

sql=sql & "'" & Request.Form("compname") & "',"

sql=sql & "'" & Request.Form("contname") & "',"

sql=sql & "'" & Request.Form("address") & "',"

sql=sql & "'" & Request.Form("city") & "',"

sql=sql & "'" & Request.Form("postcode") & "',"

sql=sql & "'" & Request.Form("country") & "')"

on error resume next

conn.Execute sql,recaffected

if err<>0 then

  Response.Write("No update permissions!")

else

  Response.Write("<h3>" & recaffected & " record added</h3>")

end if

conn.close

%>

</body>

</html>

2.使用 INSERT command 命令时的注意事项

1.如果表含有一个主键,请确保向主键字段添加的值是唯一且非空的(否则,provider 就不会追加此记录,亦或发生错误)

2.如果表含有一个自动编号的字段,请不要在 INSERT 命令中涉及此字段(这个字段的值是由 provider 负责的)

3.无数据字段

在 MS Access 数据库中,将 AllowZeroLength 属性设置为 “Yes”,就可以在文本、超链接以及备忘字段输入零长度的字符串 ("")。

注:并非所有的数据库都支持零长度的字符串。

三、ADO 更新记录

使用 SQL 的 UPDATE 来更新数据库表中的某条记录。

1.更新数据库表中的记录

更新 Northwind 数据中 Customers 表的某条记录。

首先创建一个表格,来列出 Customers 中的所有记录。

<html>

<body>

<%

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

%>

<h2>List Database</h2>

<table border="1" width="100%">

<tr>

<%

for each x in rs.Fields

  response.write("<th>" & ucase(x.name) & "</th>")

next

%>

</tr>

<% do until rs.EOF %>

<tr>

<form method="post" action="demo_update.asp">

<%

for each x in rs.Fields

  if lcase(x.name)="customerid" then%>

    <td>

    <input type="submit" name="customerID" value="<%=x.value%>">

    </td>

  <%else%>

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

  <%end if

next

%>

</form>

<%rs.MoveNext%>

</tr>

<%

loop

conn.close

%>

</table>

</body>

</html>

如果用户点击 "customerID" 列中的按钮,会打开一个新文件 "demo_update.asp"。此文件包含了创建输入域的源代码,这些输入域基于数据库中记录的字段,同时也含有一个保存修改的“更新按钮”:

<html>

<body>

<h2>Update Record</h2>

<%

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

  %>

  <form method="post" action="demo_update.asp">

  <table>

  <%for each x in rs.Fields%>

  <tr>

  <td><%=x.name%></td>

  <td><input name="<%=x.name%>" value="<%=x.value%>"></td>

  <%next%>

  </tr>

  </table>

  <br /><br />

  <input type="submit" value="Update record">

  </form>

<%

else

  sql="UPDATE customers SET "

  sql=sql & "companyname='" & Request.Form("companyname") & "',"

  sql=sql & "contactname='" & Request.Form("contactname") & "',"

  sql=sql & "address='" & Request.Form("address") & "',"

  sql=sql & "city='" & Request.Form("city") & "',"

  sql=sql & "postalcode='" & Request.Form("postalcode") & "',"

  sql=sql & "country='" & Request.Form("country") & "'"

  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 updated!")

  end if

end if

conn.close

%>

</body>

</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/689206.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C 练习实例70-求字符串长度

题目&#xff1a;写一个函数&#xff0c;求一个字符串的长度&#xff0c;在 main 函数中输入字符串&#xff0c;并输出其长度。 解答&#xff1a; #include <stdio.h> int length(char *s); int main() {int len;char str[20];printf("请输入字符串:\n");scan…

一周学会Django5 Python Web开发-Django5路由定义

锋哥原创的Python Web开发 Django5视频教程&#xff1a; 2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~共计22条视频&#xff0c;包括&#xff1a;2024版 Django5 Python we…

【数据库】日常使用PL/SQL 登录ORACLE 数据库查询数据

一、PL/SQL 登录方式 username&#xff1a; ##访问数据库的账号 password&#xff1a; ##访问数据库的密码 Databse&#xff1a; ##数据库IP地址/实例名 & 数据库集群心跳地址/实例名 Connect as : ##Normal&#xff0c;如果使用sysdba账户登录选择SYSDBA 二、PL/SQL使用…

OpenAI Sora —— 文生视频为何如此逼真?AI算法架构解析

OpenAI于2024年2月16日发布了名为Sora的文生视频模型。Sora是一个革命性的视频生成模型&#xff0c;可以根据用户输入的简单文本脚本自动生成与好莱坞级别画面相媲美的视频内容&#xff0c;其生成的视频不仅仅是对已有素材的拼接或剪辑合成&#xff0c;而是从像素级别全新“绘制…

返回 x 的小数和整数部分math.modf(x)

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 返回 x 的小数和整数部分 math.modf(x) [太阳]选择题 请问以下代码输出的结果是&#xff1f; import math print("【执行】math.modf(10.5)") print(math.modf(10.5)) A选项&am…

Vue+Vite项目初建(axios+Unocss+iconify)

一. 创建项目 npx --package vue/cli vue 项目成功启动后&#xff0c;进入http://localhost:3200&#xff0c;即可进入创建好的页面(假设启动端口为3200) 二. 测试网络通讯模块 假设有本地服务器地址localhost:8000提供接口服务&#xff0c;接口为localhost:8000/token&#…

IDEA2023.3.4开启SpringBoot项目的热部署【简单明了4步操作】

添加devtools依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope><optional>true</optional> </dependency>IDEA开启自动编译 …

移动端App自动化之触屏操作自动化

工作中我们经常需要对应用的页面进行手势操作&#xff0c;比如滑动、长按、拖动等&#xff0c;AppiumDriver 为我们提供一个模拟手势操作的辅助类 TouchAction&#xff0c;可以通过它对手机屏幕进行手势操作。 具体用法参见链接&#xff1a;chromedriver下载地址与webview自动…

用连续自然数之和来表达整数

文章目录 题目描述&#xff1a;用连续自然数之和来表达整数输入描述输出描述用例1说明用例2代码运行举例注意&#xff1a;1、sprintf 和 strcat区别2、qsort 题目描述&#xff1a;用连续自然数之和来表达整数 一个整数可以由连续的自然数之和来表示。 给定一个整数&#xff0c…

docker ubuntu tomcat 换源 安装软件

第一种办法参考docker中ubuntu容器更换apt源_ubuntu更改apt源 with dockerfile-CSDN博客 sed -i s/archive.ubuntu.com//mirrors.aliyun.com/g /etc/apt/sources.list sed -i s/security.ubuntu.com//mirrors.aliyun.com/g /etc/apt/sources.list apt update apt install vim…

2024前端面试准备之CSS篇(一)

全文链接 1. CSS选择器的优先级是怎样的 CSS选择器的优先级是:内联 > ID选择器 > 类选择器 > 标签选择器 计算示例:优先级由 A 、B、C、D 的值来决定的,其中它们的值计算规则如下: A 的值等于 1 的前提是存在内联样式, 否则 A = 0B 的值等于 ID选择器 出现的次…

金融股票AIGC工具,一句话画出精美股价市值对比图

财经自媒体工具&#xff0c;一句话画出对应公司市场大盘指数、股价、市值、PE对比图&#xff0c;网站地址&#xff0c;支持多种类型图表&#xff1a; DeepNLP AIGC Chart: Generate Professional Charts and Tables powered by Large AI models 1. 全球股票市场最新指数画表 …

选择性焊接与波峰焊哪种更适合PCBA加工?

以上两者皆是PCBA贴片加工常用的焊接方法&#xff0c;但两种方式都有自己的优缺点&#xff0c;以下是SMT贴片加工中如何选择这两种焊接方式的讲解。 选择性焊接&#xff1a; 选择性焊接是波峰焊的一种&#xff0c;用于焊接与通孔元件组装在一起的smt加工设备。随着双面PCB的逐…

uniapp 读取本地文件

uniapp 读取本地文件 介绍 开发中需要将一些固定配置保存到一个配置文件中&#xff0c;在static 下面创建了一个data.json文件 uniapp 有时候可能需要读取本地的json配置文件或者其他一些文件&#xff0c;晚上找了几个教程不管用&#xff0c;最后还是在官网找到了介绍 实现…

Qt 使用QScintilla 编辑lua 脚本

需求&#xff1a; 利用QScintilla 编辑lua 脚本 步骤&#xff1a; 1&#xff0c;下载 QScintilla Riverbank Computing | Download 2, 打开 src/qscintilla.pro 文件 编译出 dll库 3&#xff0c;工程中引入这个库 注意debug 模式 必须加载debug 版本编译的库&#xff0…

多维时序 | Matlab实现基于VMD-DBO-LSTM、VMD-LSTM、LSTM的多变量时间序列预测

多维时序 | Matlab实现基于VMD-DBO-LSTM、VMD-LSTM、LSTM的多变量时间序列预测 目录 多维时序 | Matlab实现基于VMD-DBO-LSTM、VMD-LSTM、LSTM的多变量时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 Matlab实现基于VMD-DBO-LSTM、VMD-LSTM、LSTM的多变量时间…

微服务- 熔断、降级和限流

基本介绍 在微服务架构中&#xff0c;由于服务之间的相互依赖性&#xff0c;任何一个服务的故障或性能问题都可能导致整个系统的不稳定。因此&#xff0c;熔断、降级和限流是三种常见的技术手段&#xff0c;用于提高系统的可用性和稳定性。 熔断 (Circuit Breaker) 熔断机制…

MyBatis基础学习

一、MyBatis简介 二、MyBatis-HelloWorld 三、MyBatis-全局配置文件 四、MyBatis-映射文件 五、MyBatis-动态SQL 六、MyBatis-缓存机制 七、MyBatis-Spring整合 八、MyBatis-逆向工程 九、MyBatis-工作原理 十、MyBatis-插件开发

在ChatGPT时代,出国留学如何避免掉入学术不端重灾区?

近日&#xff0c;哈佛校长克洛迪娜盖伊在校园“反犹风波”中因立场问题被迫辞职。此外&#xff0c;哈佛大学相关调查委员会还发现盖伊在学术论文中存在错误引用资料来源等问题。对于种种学术不端行为&#xff0c;留学生如何防范&#xff1f;在ChatGPT时代&#xff0c;出国留学如…

SpringBoot助力!轻松实现微信模版消息推送

本篇文章的主题是 如何通过springboot来实现微信的模版消息推送 实现效果&#xff1a; 在当今的信息化时代&#xff0c;微信作为国人最为常用的通讯工具之一&#xff0c;已经不仅仅是一个简单的社交应用&#xff0c;更是连接人与服务、人与信息的桥梁。企业微信模板消息作为…