Asp连接access数据库,查询,添加,修改,删除

20110630 16:54:00 阅读数:1591 标签: 数据库accessasppigsqlmicrosoft 更多

个人分类: 技术贴

一、建立数据库:

  用 Microsoft Access 建立一个名为 data.mdb 的空数据库,使用设计器创建一个新表admin是保存用户名和密码,里面有字段:UserName,PassWord.

二、连接数据库

Conn.asp文件:

方法1

<%

Dim DateBase, Conn, connstr

      DateBase = "../db/data.mdb"      数据库表所在的位置

      ConnStr="Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&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

%>

方法2

ConnStr="driver={MicrosoftAccessDriver(*.mdb)};dbq="&Server.MapPath(DateBase)

三、使用数据库:建立结果集

在源文件中:<!--include file="conn.asp"-->

<%

Dim Rs

Set Rs=Server.CreateObject("ADODB.RecordSet")                 '建立一个记录对象

%>

四、使用数据库:具体操作

A、查询记录:

Dim Sql,UserName,PassWord

UserName="name"                                                 '给变量赋值

Sql="select * from Admin Where Name='" & UserName &"'"

Rs.open Sql,Conn,3,3

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.连接到表中名UserNamepig的记录:

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.删除表中名UserNamepig的记录:

UsersName="pig"

Sql="delete * from Admin where UserName='" & UserName & "'"

Rs.open Sql,Conn,3,3

 

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

五、关闭数据库

使用完数据库,最后别忘记关闭:

Rs.Close

Set Rs=nothing

Conn.close

Set Conn=nothing

六、总结:

重点在给Sql赋值这一句,他决定你进行什么操作,

相关结果:                   说明

Rs.RecordCount           '查询到的记录个数

Rs.AddNew               '添加新记录

Rs.Update               '更新,用于修改和添加以后

Rs.MoveNext             '移动到下一条记录 

Rs.MoveLast             '移动到上一条记录

 

Rs.open Sql,Conn,3,3   是什么意思

我们把 3,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方法后才锁定记录。

 

当不需要改动任何记录时,应该使用只读的记录集,这样提供者用做任何检测。

对于一般的使用,乐观的锁定可能是最好的选择,因为记录只被锁定小段时间,

数据在这段时间被更新。这减少了资源的使用。