• ASP连接access 数据库的增删改查


    假设数据库文件名叫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
     
  • 相关阅读:
    前中后序建立树或者直接历遍
    Leetcode:面试题 04.03. 特定深度节点链表
    按层数层序历遍
    Solidity函数修饰符
    无线传感网定位技术
    无线传感器网络概述,传感器网络结构
    Solidity高级用法
    智能合约交互
    内存
    CPU的态
  • 原文地址:https://www.cnblogs.com/imsoft/p/3504973.html
Copyright © 2020-2023  润新知