ASP
Download
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
Asp

ASP

Asp存取数据库



Asp
准备数据库

  • 建立一个数据库address.mdb ,表为tbAddress

  • 为该数据库建立数据源address


Asp

  • 设置数据库文件的权限,步骤如下:

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

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


Asp
连接数据库

  • 用Connection对象连接数据库。具体连接方式有三种。

  • 基于ODBC数据源的连接方式

    <%

    Dim conn

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

    conn.Open "address"

    %>


Asp


Asp

  • 基于OLE DB的连接方式

    <%

    Dim conn

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

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


Asp


Select
利用想想?虚机空间和自主架设服务器二种情况,什么情况下用数据源方式,什么情况下用非数据源方式。Select语句查询记录

  • 利用Select语句查询记录。具体过程如下:

  • 利用Connection对象连接数据库。

  • 利用Connection对象的Execute方法执行一条Select语句,该方法就会返回一个记录集对象(Recordset)。

  • 所谓记录集,类似于一个数据库中的表,由若干列和若干行组成,可以看做一个虚拟的表。

  • 在记录集中利用循环移动指针就可以依次读取所有的记录。


Asp

<html><body>想想?虚机空间和自主架设服务器二种情况,什么情况下用数据源方式,什么情况下用非数据源方式。

<%

Dim conn

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

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

Dim rs

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

'返回整个数据表

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

%>


Asp

<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语句,就可以在数据表中添加一条记录。


Asp

<% 想想?虚机空间和自主架设服务器二种情况,什么情况下用数据源方式,什么情况下用非数据源方式。

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’,‘mm@372.net’,‘地理',#2008-8-8#)")

Response.Write "已经成功添加"

%>


Delete
利用想想?虚机空间和自主架设服务器二种情况,什么情况下用数据源方式,什么情况下用非数据源方式。Delete语句删除记录

  • 当希望删除联系人时,就需要在数据库中删除记录,这就要用到SQL语言的Delete语句。

  • 删除记录也是利用Connection对象的Execute方法,不过也不需要返回记录集对象,具体过程和添加记录非常相似。


Asp

<% 想想?虚机空间和自主架设服务器二种情况,什么情况下用数据源方式,什么情况下用非数据源方式。

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方法,不过也不需要返回记录集对象,具体过程和添加记录、删除记录都非常相似 。


Asp

<% 想想?虚机空间和自主架设服务器二种情况,什么情况下用数据源方式,什么情况下用非数据源方式。

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 "已经成功更新"

%>


Asp
深入学习想想?虚机空间和自主架设服务器二种情况,什么情况下用数据源方式,什么情况下用非数据源方式。

  • 前面例子各自独立,没有构成网站整体, 例如删除记录ID号是动态的,再例如更新记录,是用户通过更新表单输入或选择更新信息,再传递给更新程序。


Asp

  • <td><a href="delete.asp?ID=<%=rs("ID")%>">想想?虚机空间和自主架设服务器二种情况,什么情况下用数据源方式,什么情况下用非数据源方式。删除</a></td>

  • <td><a href="update_form.asp?ID=<%=rs("ID")%>">更新</a></td>


Insert1
利用想想?虚机空间和自主架设服务器二种情况,什么情况下用数据源方式,什么情况下用非数据源方式。Insert语句添加记录


Delete1
利用想想?虚机空间和自主架设服务器二种情况,什么情况下用数据源方式,什么情况下用非数据源方式。Delete语句删除记录

  • 在首页中单击【删除记录】超链接,就会执行该程序,执行完毕后立即再重定向首页。程序运行结果图略。


Update1
利用想想?虚机空间和自主架设服务器二种情况,什么情况下用数据源方式,什么情况下用非数据源方式。Update语句更新记录

  • 更新记录包括两个文件:一个是表单文件update_form.asp,一个是更新执行程序update.asp。


Asp

<%想想?虚机空间和自主架设服务器二种情况,什么情况下用数据源方式,什么情况下用非数据源方式。

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)

%>


Asp

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


Asp

<% width="80%" align="center"><tr>

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

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


Asp

' width="80%" align="center"><tr>下面利用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