用ASP连接数据库

连接数据库

原文作者:Alan Saldanha

微软公司的ASP加上IIS3.0就能为网站建设、INTRANET应用提供一个灵活的构建方法,他可以方便地访问ODBC兼容的数据库。

这篇文章中,我们将学到数据库的基本操作,比如建立、添加记录、删除记录、编辑记录等。

使用ASP建立的动态主页与浏览器无关,也就是说,你不论用哪种浏览器都能浏览ASP的页面,使用JSCRIPT和VBSCRIPT加上一些其他ASP元件,你就能在你的INTRANET应用中使用ASP。使用ASP不仅意味着您可以读取ACCESS和SQL SERVER的数据库,同时也意味着你可以读取其他ODBC兼容的数据库。 使用ASP将比编写CGI快的多,对于那些习惯VISUAL BASIC的人来说, ASP将是最好的选择。

其他的如 Chili!ASP 功能上与ASP差不多,可以用在许多WWW平台上,甚至一些UNIX服务器(比如重庆太阳城,Linux ,ASP脚本用的是PERL语言。译注)。

在调试ASP代码时,我没有使用调试器,我发现大多数错误都是由于我的拼写错误引起的,或者是在HTML中嵌入变量时没有使用?敗#ü赜谠贖TML中引用ASP变量值,或者输出,我在第一篇文章中有说明。译注)。

 

 

这里提供的代码仅是一个例子,不能用做一个应用。如果在没有记录时,您尝试删除记录或编辑记录,程序并没有处理这种情况。这个例子是在NT4.0上建立的,数据库用MS Access 7,你必须有32位的ODBC驱动程序。(如果你安装了IIS3。0或ACCESS,那自然是已经有了,译注)

下面的例子包含了数据库的基本操作,但是这些操作可能每一个用ASP访问数据库的人都会用到。你可以往数据库中添加记录,编辑或删除记录。

 

图一:数据库Microsoft Access

 

数据库

我用ACCESS的数据库做,建立一个数据库user.mdb

他包含两个表:TblUser,TblUserAccess.

TblUSer, 包含用户的一些信息,有以下字段: -用户名,用户登录名 ,用户口令,登录时间和访问级别 (USERNAME, USERLOGIN, USERPASSWORD, USERENTRYDATE, and ACCESSID). ACCESSID, 用户级别指向表TblUserAccess中的 ACCESSID字段. 表 TblUserAccess 用来定义访问级别- ACCESSDESC

 

DSN

一旦你建好了数据库,你需要为数据库建立一个DSN入口,不防给他取名叫:UserDB1. 照下面的步骤去做:(关于DSN,我将在本文末做介绍,译注)

单击摽紨,选设置控制面板。

双击图标 "32位 ODBC",将弹出一个对话框,选标签 "System DSN"

单击 "Add" 添加一个 DSN 入口, 选择 "Microsoft Access Drive".确认。

在 "Data Source Name" 栏里输入 "UserDB1", 然后单击"Select" 选择数据库,你可以按"Browse" 来选中 users.mdb.你可以把数据库放在任何位置,比如建立一个目录来放吧: c:\inetsrv\wwwroot\users\users.mdb

 

图二:连接数据库,方法一

连接数据库 方法一

ASP提供两种方法来访问数据库。在第一中方法中,你首先必须建立一个连接,之后,你可以加载任何合法的SQL语句。最后,关闭连接。 一些代码你可以直接拿来用。图二中,用揢serDB1斪鯠SN,建立连接后,可以用Execute加载任何合法的SQL语句。之后,在一个循环中引用数据。必须注意的是,在最后一定要记住关闭连接。

 

 

图三:连接数据库 方法二

SUB Session_OnStart

'---- Open ADO connection to database

Conn.Open "UsersDB1", "userdblogin","userdbpassword"

END SUB

 

图四:文件Global.asa 中用于连接的串

Conn.Open "UserDB1", "userdblogin","userdbpassword"

连接数据库 方法二:

另外一种方法是在用户的SESSION中建立连接。当SESSION结束时,关闭连接。这要用到文件Global.asa.每一个基于ASP的INTRANET应用都可以有一个global.asa,它应当存放在这个应用的根目录下。在 global.asa 文件中可以定义四个事件处理程序,四个事件是:- Application-Start , Session-Start, Application-End 和 Session-End. 你可以在事件session-Start 中打开数据库连接,在事件Session-End 中关闭连接。

在图四中,用用户名搖serdblogin",口令"userdbpassword"建立了一个到DSN "UserDB1"的连接。在整个SESSION中都可以使用连接"Conn".

大家可以看例子default.asp 和文件global.asa.

 

 

图五:取得表单元素的值.

Action = Request.Form("Action")

 

从表单中取得信息

在基于ASP的应用中,你可以将ASP的例程代码放在一个专门的文件中,然后在需要的地方用"include"包含进来。图五中取得表单元素"Action"的值

图六:生成控制条

时间: 2024-11-02 19:29:58

用ASP连接数据库的相关文章

ASP连接数据库的11种方法及相关语法

连接数据库|语法 编辑注:学会了这些东西,您将基本可以独立完成ASP对数据库的所有操作. ASP连接数据库的11种方法--本文总结了使用ASP链接各种数据库的方法: 1.Access数据库的DSN-less连接方法: set adocon=Server.Createobject("adodb.connection") adoconn.Open"Driver={Microsoft Access Driver(*.mdb)};DBQ="& _ Server.Ma

ASP连接数据库的全能代码_应用技巧

ASP连接数据库的全能代码      '解决了ACCESS数据库路径的问题! '采用DBType=0或DBType=1来区分AC库还是MSSQL库 '具体采用AC库时应注意的事项,请看程序说明 -------------------------------------------------------------------------------- Dim DBType,Conn,StrConn DBType=0        '0为Access数据库,1为MSSQL数据库  If(DBTy

Win7 ASP连接数据库“未找到提供程序.该程序可能未正确安装”问题_win服务器

ASP连接数据库的连接字符串是Provider=Microsoft.Jet.OLEDB.4.0; Data Source=路径,采用的是OleDB方式连接,问题可能就出在OleDB方式连接这一环节上. 后来搜索网络得到了解决的办法 .原来是自己装的64位Windows 7系统的原因,默认64位环境下,IIS应用程序池未启用32位应用程序,我们只需要启用一下就可以了.打开IIS 7,定位到"应用程序池",然后选择使用OleDB方式连接数据库的程序池,然后将启用32位应用程序设置为True

实用的ASP连接数据库的函数

函数|连接数据库 细心的开发人员有时会想到,我们在一个需要读写数据库的页面里包含类似 <!-- #include file="conn.asp" --> 的代码时,实际上,当你没有进行任何读写数据库操作时,这个数据库连接仍然是打开的,仍然在消耗着服务器的资源. 那么,我们有没有办法让数据库连接仅在需要读取数据库时才打开,不读取时就没有任何动作呢,以下即提供这种思路,以求抛砖引玉. 这种思路即是将数据库连接代码封装在函数里,在需要读取时调用这个函数. 以下是SQL连接代码:

技巧文章:实用的ASP连接数据库的函数

函数|技巧|连接数据库    细心的开发人员有时会想到,我们在一个需要读写数据库的页面里包含类似<!-- #include file="conn.asp" -->的代码时,实际上,当你没有进行任何读写数据库操作时,这个数据库连接仍然是打开的,仍然在消耗着服务器的资源. 那么,我们有没有办法让数据库连接仅在需要读取数据库时才打开,不读取时就没有任何动作呢,以下即提供这种思路,以求抛砖引玉. 这种思路即是将数据库连接代码封装在函数里,在需要读取时调用这个函数. 以下是SQL连接

动态网页设计:ASP连接数据库的11种方法

动态|连接数据库|设计|网页|网页设计 ASP连接的11种方法--本文总结了使用ASP链接各种的方法: 1.Access的DSN-less连接方法: setadocon=Server.Createobject("adodb.connection")adoconn.Open"Driver={MicrosoftAccessDriver(*.mdb)};DBQ="&_Server.MapPath("所在路径") 2.AccessOLEDB连接方

用VB生成DLL封装ASP连接数据库的代码

这篇文章以VB生成的DLL封装ASP代码来连接数据库(以Access数据库为例). 一般情况下我们在用ASP连接Access的数据库时通常都会进行如下的操作 '//Proconn.asp <% dim ProConn set ProConn=Server.CreateObject("ADODB.CONNECTION") ProConn.Open "driver={Microsoft Access Driver (*.mdb)};uid=;pwd=123;DBQ=&quo

ASP连接数据库的5种方法

连接数据库 第一种 - 这种方法用在ACCESS中最多strconn = "DRIVER=Microsoft Access Driver (*.mdb);DBQ=" _& Server.MapPath("aspfree.mdb")set conn = server.createobject("adodb.connection")conn.open strconn 第二种-这种方法用在SQL SERVER中多strconn = "

ASP连接数据库的全能代码

连接数据库 '解决了ACCESS数据库路径的问题!'采用DBType=0或DBType=1来区分AC库还是MSSQL库'具体采用AC库时应注意的事项,请看程序说明 --------------------------------------------------------------------------------Dim DBType,Conn,StrConnDBType=0 '0为Access数据库,1为MSSQL数据库 If(DBType=0) Then'**************