ASP连接access 数据库的增删改查 - imsoft.cnblogs-阿里云开发者社区

开发者社区> imzdx> 正文

ASP连接access 数据库的增删改查 - imsoft.cnblogs

简介: 假设数据库文件名叫data.mdb里面有2个表:1.admin2.news假设admin是保存用户名和密码,里面有字段:UserName,PassWord.假设我们要在判断一个用户名叫name,密码是pass的人是否合法,也就是数据库里面是否有这个记录,那么要进行以下几步:1.
+关注继续查看
假设数据库文件名叫data.mdb
里面有2个表:
1.admin
2.news
假设admin是保存用户名和密码,里面有字段:UserName,PassWord.
假设我们要在判断一个用户名叫name,密码是pass的人是否合法,也就是数据库里面是否有这个记录,那么要进行以下几步:
1.建立一个连接对象,连接到数据库;
2.建立一个记录对象;
3.用记录对象通过sql语句对表中的内容进行操作;
4.读取sql语句的结果并处理;
5.关闭记录对象,关闭连接对象.

第一步代码:
Dim Conn,DateBase,connstr

DateBase = "/data/data.mdb"
ConnStr = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " & Server.MapPath(DateBase)

On Error Resume Next
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open Connstr '打开数据库

If Err Then
Err.Clear
Set Conn = Nothing
Response.Write "数据库连接出错,请打开conn.asp文件检查连接字串。"
Response.End
End If

第二步代码:
Dim Rs
Set Rs=Server.CreateObject("ADODB.RecordSet") '建立一个记录对象

第三步代码:
Dim Sql,UserName,PassWord
UserName="name" '给变量赋值
PassWord="pass"
Sql="select * from Admin Where Name='" & UserName &"' and PassWord='" & PassWord &"'"
Rs.open Sql,Conn,3,3

当第三步完成后,对数据库的查询就成功了,然后就可以读取sql的结果了:


A.查询记录:

If Rs.eof then
response.write "不存在此记录或者输入错误" '如果到了表的末尾都没发现,当然就不存在此用户,或者用户名不对
else
response.write "存在,用户名和密码正确"
end if

B.添加记录:(比如添加一个名叫pig密码是dog的记录)
1.进行第一步
2.进行第二步
3.连接到表
Sql="select * from Admin"
Rs.open Sql,Conn,3,3
4.添加:
Rs.AddNew
Rs("UserName")="pig"
Rs("PassWord")="dog"
Rs.Update

C.修改记录:(比如把名pig的密码修改成cat)
1.进行第一步
2.进行第二步
3.连接到表中名UserName为pig的记录:
UsersName="pig"
Sql="select * from Admin where UserName='" & UserName & "'"
Rs.open Sql,Conn,3,3
4.添加:
Rs("PassWord")="cat"
Rs.Update

D.删除记录:(比如删除用户名为pig的记录)
1.进行第一步
2.进行第二步
3.删除表中名UserName为pig的记录:
UsersName="pig"
Sql="delete * from Admin where UserName='" & UserName & "'"
Rs.open Sql,Conn,3,3

Rs.open Sql,Conn,3,3也可以直接写成:Conn.execute(Sql)



总结:
重点在给Sql赋值这一句,他决定你进行什么操作,相关内容详情请参考介绍sql语句的书籍,姜波有.
相关结果: 说明
Rs.RecordCount '查询到的记录个数
Rs.AddNew '添加新记录
Rs.Update '更新,用于修改和添加以后
Rs.MoveNext '移动到下一条记录
Rs.MoveLast '移动到上一条记录


Rs.open Sql,Conn,1,3 是什么意思
我们把 1,3 用A ,B来表示
Rs.open Sql,Conn,A,B

A:
ADOPENFORWARDONLY(=0) 只读,且当前数据记录只能向下移动
ADOPENKEYSET(=1) 只读,当前数据记录可自由移动
ADOPENDYNAMIC(=2) 可读写,当前数据记录可自由移动
ADOPENSTATIC(=3) 可读写,当前数据记录可自由移动,可看到新增记录

B:
ADLOCKREADONLY(=1) 缺省锁定类型,记录集是只读的,不能修改记录
ADLOCKPESSIMISTIC(=2) 悲观锁定,当修改记录时,数据提供者将尝试锁定记录以确保成功地编辑记录。只要编辑一开始,则立即锁住记录。
ADLOCKOPTIMISTIC(=3) 乐观锁定 ,直到用Update方法提交更新记录时才锁定记录。
ADLOCKBATCHOPTIMISTIC(=4) 批量乐观锁定,允许修改多个记录,只有调用UpdateBatch方法后才锁定记录。

当不需要改动任何记录时,应该使用只读的记录集,这样提供者不用做任何检测。
对于一般的使用,乐观的锁定可能是最好的选择,因为记录只被锁定一小段时间,
数据在这段时间被更新。这减少了资源的使用。


最后别忘记关闭:
Rs.Close
Set Rs=nothing
Conn.close
Set Conn=nothing
 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Qt之处理QNetworkAccessManager网络连接超时
简述 在网络操作中,经常会由于各种原因引起网络连接超时,究竟何为网络连接超时? 网络连接超时:在程序默认的等待时间内没有得到服务器的响应 简述 超时原因 Qt 中的网络连接超时 如何处理超时 封装类 超时原因 引起网络连接超时的原因很多,下面,列举一些常见的原因: 网络断开,不过经常显示无法连接 网络阻塞,导致你不能在程序默认等待时间
3793 0
JDBC(三)数据库连接和数据增删改查
加载JDBC驱动 只需要在第一次连接数据库时加载,java6以后我们可以直接这样加载: *我在本系列教程中用mysql示例。 需要导入jar包:mysql-connector-java-5.0.8-bin.jar(版本和下载网站自己挑) 如果是web程序,把jar包放到WebRoot/WEB-INF/lib/下 如果是普通java项目,将jar包导入到自己项目的lib库中。
1019 0
Spring Security笔记:使用数据库进行用户认证(form login using database)
在前一节,学习了如何自定义登录页,但是用户名、密码仍然是配置在xml中的,这样显然太非主流,本节将学习如何把用户名/密码/角色存储在db中,通过db来实现用户认证 一、项目结构 与前面的示例相比,因为要连接db,所以多出了一个spring-database.
840 0
SQL SERVER数据库删除LOG文件和清空日志的方案
原文:SQL SERVER数据库删除LOG文件和清空日志的方案 数据库在使用过程中会使日志文件不断增加,使得数据库的性能下降,并且占用大量的磁盘空间。SQL Server数据库都有log文件,log文件记录用户对数据库修改的操作。
4140 0
weblogic连接RAC数据库
对于负载均衡的机器,要连接多个实例的数据库的时候,使用这种策略目前是比较好的一种方案,当然也可以使用weblogic自带的解决方案。 直接使用了RAC的负载均衡策略。   在Oracle中找到tnsnames.ora这个文件。
642 0
+关注
imzdx
数据库相关技术专家
324
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载