通过ASP与ACCESS数据库建立连接(附源码)(2)

王朝asp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

(三)关键部分:建立与数据库的联系并将表单中收集到的信息添加到ACCESS数据库中。

ASP代码放在〈%和%>之间。

<%

CompanyName = Request("CompanyName")

CName = Request("CName")

City = Request("City")

Tel = Request("Tel")

以上,首先取得表单中填写的数据,使用ASP的Request对象非常容易可以实现数据的收集。双引号中的就是上一步建立的各个项目的名字(NAME)。所以今后为每个项目起名字是个好习惯,尽管有时候并不一定用得到。这样取得的数据就保存在等号坐侧的变量中了。

If CompanyName = "" Or CName = "" Or City = "" Or Tel = "" Then

'Response.Write "<html><body><center><font size=5>请将资料填写完整。</font></center></body></html>"

Response.Redirect "error.htm"

Response.End

End If

这里是检测各个项目是否输入了东西,如果为空则不往下继续执行,显示错误信息。注意:你可以使用两种方法。我都列出了。方法一:使用Response.Write方法写一个出错页面,类似于javascripts的document.write写法,只是ASP使用Response.write罢了。方法二:使用Response.Redirect方法导向出错页面error.htm。我在方法一的代码前加上单引号表示注释。(ASP中表示注释用单引号')。

set dbconnection=Server.CREATEOBJECT("ADODB.CONNECTION")

DBPath = Server.MapPath("customer.mdb")

dbconnection.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath

(1)建立Connection对象:dbconnection,建立一个连接(Connection)是数据库存取的开始。我们使用ASP的内建对象方法Server.Createobject建立与数据库的连接。ADODB是ASP的数据库存取组件,不必担心只要有ASP就有它了,是内置的。

(2)使用dbconnection.open方法打开数据库customer.mdb。driver参数语法: driver={Microsoft Access Driver (*.mdb)}必须这么写。告诉系统使用ACCESS ODBC驱动处理。dbq参数用来指定打开的数据库文件,它必须是完整的路径。例如"c:inetpubwwwrootcustomercustomer.mdb",我们使用Server.MapPath的方法取得数据库的完整路径。

Set rs = Server.CreateObject("ADODB.Recordset")

建立Recordset对象rs。Connection仅仅是建立了与数据库间的连接,要存取数据还应该再建立Recordset对象。

rs.Open "客户", dbconnection, adOpenDynamic, 3

打开数据库中的表"客户"(客户是表名)。 语法:

rs.open 数据表名或SQL指令,已经建立的Connection对象(这里是dbconnection), 锁定类型

rs.AddNew

rs("公司名称") = CompanyName

rs("联络人姓名") = CName

rs("所在城市") = City

rs("电话号码") = Tel

rs.Update

用AddNew向数据库请求添加数据。最后用Update写入。注意:等号右侧的变量保存着用Request取得的表单数据。双引号内的就是数据库的字段,应该与数据库的一致啊。否则会出错的。这样变量内的数据就写入了数据库对应的字段内了。

Response.Write "<html><body><center><font size=5>祝贺,您的数据已经添加进数据库了!<p>"

Response.Write "<a href='viewdatabase.asp'>查看数据</a>"

Response.Write "</font></center></body></html>"

写入成功后显示祝贺信息并建立查看数据库记录的连接。

%>

<html>

<head>

<title></title>

</head>

<body>

</body>

</html>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有  導航