slide1
Download
Skip this Video
Download Presentation
ASP

Loading in 2 Seconds...

play fullscreen
1 / 27

ASP - PowerPoint PPT Presentation


  • 123 Views
  • Uploaded on

ASP. Asp 存取数据库. 例如:开发一个在线的通讯录程序. 准备数据库. 建立一个数据库 address.mdb ,表为 tbAddress 为该数据库建立数据源 address. 设置数据库文件的权限,步骤如下: 对于 Windows XP 系统,如果安装时采用了 NTFS 文件系统,还要设置“ Internet 来宾帐户”可以完全控制该数据库文件。步骤如下:

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' ASP' - rhiannon-reese


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

ASP

Asp存取数据库

slide3
准备数据库
  • 建立一个数据库address.mdb ,表为tbAddress
  • 为该数据库建立数据源address
slide4
设置数据库文件的权限,步骤如下:

对于Windows XP系统,如果安装时采用了NTFS文件系统,还要设置“Internet来宾帐户”可以完全控制该数据库文件。步骤如下:

数据库文件单击右键/在快捷菜单/【属性】命令/“属性”对话框/【安全】标签/【组或用户名称】中选中“Internet来宾帐户”/“完全控制”等权限/【确定】按钮/。

slide5
连接数据库
  • 用Connection对象连接数据库。具体连接方式有三种。
  • 基于ODBC数据源的连接方式

<%

Dim conn

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

conn.Open "address"

%>

slide6
不用数据源的连接方式(连接字符串) :

<%

Dim conn

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

conn.Open "Driver={Microsoft Access Driver (*.mdb)};Dbq=" & Server.MapPath("address.mdb")

slide7
基于OLE DB的连接方式

<%

Dim conn

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

conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("address.mdb")

slide8
想想?虚机空间和自主架设服务器二种情况,什么情况下用数据源方式,什么情况下用非数据源方式。想想?虚机空间和自主架设服务器二种情况,什么情况下用数据源方式,什么情况下用非数据源方式。
select
利用Select语句查询记录
  • 利用Select语句查询记录。具体过程如下:
  • 利用Connection对象连接数据库。
  • 利用Connection对象的Execute方法执行一条Select语句,该方法就会返回一个记录集对象(Recordset)。
  • 所谓记录集,类似于一个数据库中的表,由若干列和若干行组成,可以看做一个虚拟的表。
  • 在记录集中利用循环移动指针就可以依次读取所有的记录。
slide10

<html><body>

<%

Dim conn

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

conn.Open "address" \'以下建立记录集,建立一个Recordset对象实例rs

Dim rs

Set rs=conn.Execute("Select * From tbAddress")

\'返回整个数据表

\'以下利用表格显示记录集中的记录

%>

slide11

<table >

<% Do While Not rs.Eof %>

<tr>

<td><%=rs("strName")%></td>

<td><%=rs("strSex")%></td>

<td><%=rs("intAge")%></td>

<td><%=rs("strTel")%></td>

<td><a href="mailto:<%=rs("strEmail")%>"><%=rs("strEmail")%></a> </td>

<td><%=rs("strIntro")%></td>

<td><%=rs("dtmSubmit")%></td>

</tr>

<%

rs.MoveNext \'将记录指针移动到下一条记录

Loop

%>

</table>

insert
利用Insert语句添加记录
  • 当希望增加一个新联系人时,就需要在数据库中添加一条记录,此时就需要用到SQL语言的Insert语句。 具体过程如下:
  • 利用Connection对象连接数据库。
  • 利用Connection对象的Execute方法执行一条Insert语句,就可以在数据表中添加一条记录。
slide13

<%

Dim conn

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

conn.Open "address" \'以下利用Connection对象的Execute方法添加新记录

conn.Execute(“Insert Into tbAddress(strName,strSex,intAge,strTel,strEmail,strIntro,dtmSubmit) Values(‘黎世兵’,‘男’,21,‘6112211’,‘[email protected]’,‘地理\',#2008-8-8#)")

Response.Write "已经成功添加"

%>

delete
利用Delete语句删除记录
  • 当希望删除联系人时,就需要在数据库中删除记录,这就要用到SQL语言的Delete语句。
  • 删除记录也是利用Connection对象的Execute方法,不过也不需要返回记录集对象,具体过程和添加记录非常相似。
slide15
<%

Dim conn

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

conn.Open "address"

\'以下利用Connection对象的Execute方法删除记录

conn.Execute("Delete From tbAddress Where ID=1")

Response.Write "已经成功删除"

%>

update
利用Update语句更新记录
  • 当需要更新某人的联系方式时,就需要用到SQL语言的Update语句。
  • 更新记录也是利用Connection对象的Execute方法,不过也不需要返回记录集对象,具体过程和添加记录、删除记录都非常相似 。
slide17

<%

Dim conn

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

conn.Open "address"

\'以下利用Connection对象的Execute方法更新记录

conn.Execute("Update tbAddress Set intAge=22,strTel=\'61223211\' Where ID=2")

Response.Write "已经成功更新"

%>

slide18
深入学习
  • 前面例子各自独立,没有构成网站整体, 例如删除记录ID号是动态的,再例如更新记录,是用户通过更新表单输入或选择更新信息,再传递给更新程序。
slide19
<td><a href="delete.asp?ID=<%=rs("ID")%>">删除</a></td>
  • <td><a href="update_form.asp?ID=<%=rs("ID")%>">更新</a></td>
delete1
利用Delete语句删除记录
  • 在首页中单击【删除记录】超链接,就会执行该程序,执行完毕后立即再重定向首页。程序运行结果图略。
update1
利用Update语句更新记录
  • 更新记录包括两个文件:一个是表单文件update_form.asp,一个是更新执行程序update.asp。
slide24
<%

Dim conn,strConn

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

strConn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("address.mdb")

conn.Open strConn

\'以下建立一个记录集对象实例rs,注意会用到传过来的ID

Dim strSql,rs

strSql="Select * From tbAddress Where ID=" & Request.QueryString("ID")

Set rs=conn.Execute(strSql)

%>

slide25

<form method="POST" action="update.asp" ><table border="1" width="80%" align="center"><tr>

<td>姓名</td>

<td><input type="text" name="txtName" size="20" value="<%=rs("strName")%>">*</td></tr><tr>

<td>性别</td><td><input type="radio" name="rdoSex" value="男" <%If rs("strSex")="男" Then Response.Write "checked"%>>男<input type="radio" name="rdoSex" value="女" <%If rs("strSex")="女" Then Response.Write "checked"%>>女</td></tr><tr>

<td>年龄</td><td><input type="text" name="txtAge" size="4" value="<%=rs("intAge")%>"></td></tr><tr>

<td>电话</td>

<td><input type="text" name="txtTel" size="20" value="<%=rs("strTel")%>">*</td>

</tr><tr>

<td>E-mail</td><td><input type="text" name="txtEmail" size="50" value="<%=rs("strEmail")%>"></td>

</tr><tr><td>个人简介</td>

<td><textarea name="txtIntro" rows="4" cols="50"><%=rs("strIntro")%></textarea></td></tr><tr>

<td><input type="hidden" name="txtID" value="<%=rs("ID")%>"></td>

<td><input type="submit" name="btnSubmit" value=" 确 定 "></td>

</tr></table></form>

slide26

<%

\'只要有姓名和电话,就更新记录,否则给出错误信息

If Request.Form("txtName")<>"" And Request.Form("txtTel")<>"" Then

\'以下获取提交的表单数据

Dim ID,strName,strSex,intAge,strTel,strEmail,strIntro \'声明几个变量

ID=Request.Form("txtID") \'获取隐藏文本框传递过来的ID值

strName=Request.Form("txtName") \'获取姓名

strSex=Request.Form("rdoSex") \'获取性别

If Request.Form("txtAge")<>"" Then \'获取年龄

intAge=Request.Form("txtAge")

Else

intAge=0

End If

strTel=Request.Form("txtTel") \'获取电话

strEmail=Request.Form("txtEmail") \'获取E-mail

strIntro=Request.Form("txtIntro") \'获取个人简介

Dim conn,strConn

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

strConn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("address.mdb")

conn.Open strConn

slide27
\'下面利用Execute方法更新记录,注意更新条件为隐藏文本框传过来的ID值\'下面利用Execute方法更新记录,注意更新条件为隐藏文本框传过来的ID值

Dim strSql

strSql="Update tbAddress Set strName=\'" & strName & "\',strSex=\'" & strSex & "\',intAge=" & intAge & ",strTel=\'" & strTel & "\',strEmail=\'" & strEmail & "\',strIntro=\'" & strIntro & "\' Where ID=" & ID

conn.Execute(strSql)

Response.Redirect "index.asp"

Else

Response.Write "姓名和电话必须填写"

Response.Write "<a href=\'index.asp\'>重新填写</a>"

End If

%>

ad