第三章 asp数据库编程:3.1 在ASP中使用数据库

2016-02-19 13:37 5 1 收藏

岁数大了,QQ也不闪了,微信也不响了,电话也不来了,但是图老师依旧坚持为大家推荐最精彩的内容,下面为大家精心准备的第三章 asp数据库编程:3.1 在ASP中使用数据库,希望大家看完后能赶快学习起来。

【 tulaoshi.com - Web开发 】

本文关键字:教程/ASP/技巧

    ASP有一个最重要的功能,就是它可以让你非常轻松地连接数据库。通常都是和一个Access或者一个SQL数据库相连。因为Access是最容易起步的,同时,在你的机器上也许已经都装有Access了,所以,在下面的例子中,我们都将使用Access来做例子。一旦你学习了ASP和Access数据库连接的核心技术方法,当你开始使用SQL server的时候,你就会发现,两者所需要的关键技术是基本相同的。

 

    当你要连接数据库的时候,你需要在服务器上将这个数据库打开。你可以通过使用数据源名(DSN)或者通过在你的脚本语言中直接使用一个DSN-less连接的方法来连接和打开数据库。

创建一个数据源名(DSN)
    你可以通过在控制面板中给你的数据库建立一个系统DSN来使你的数据库可以在ASP中连接使用。你可以在你的本地计算机上建立若干个DSN,每个DSN对应你使用的不同的数据库。在建立完DSN之后,你就可以在你的本地服务器上测试你的页面了。如果你的网站是由

    ISP提供服务的,并且这个ISP支持ASP,那么很有可能它就会提供一个GUI接口,来给你的数据库创建一个DSN。

    在Windows 95/98/NT中,打开控制面板(开始菜单-设置-控制面板),双击ODBC进入。
    选择系统DSN,点击Add。
    选择Microsoft Access Driver,点击结束。
    填写数据源名。这是你给你的数据库起的名字,所以和一个alias是同样的操作。
    在数据库选择中点击选择按钮,浏览系统中你创建的Access数据库所存放的位置。
    点击OK
    现在,新的DSN现在就会在系统DSN中显示,并且可以在你的本地服务器上使用了。

连接数据库
    让我们建立一个DSN-less连接,并且看看是如何连接数据库的。当你创建一个DSN的时候,你就已经存储了关于这个数据库的一些信息,所以你不需要在每次需要使用一些信息的时候重复它们,这些信息如:数据库类型、名称、存放地点和可选性、用户和密码。

    要创建一个DSN-less连接,你就需要提供同样的信息。下面这个例子就显示了如何给一个叫products的数据库建立一个DSN-less连接:

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

%
StrConnect = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=C:\\db\\products.mdb"
Set objConn = Server.CreateObject ("ADODB.Connection")
objConn.OpenStrConnect
%

    第二行定义了数据库的驱动和物理路径。为了要使用一个DSN-less连接,你就需要知道实际的文件存放地点(绝对路径)。Server.MapPath给任何一个使用主机服务的人提供了一个简单的工作环境来查找出那些难于查到的实际访问路径。

    如果我们已经建立了一个系统DSN,并命名为products,则连接码应该为:

%
Set objConn = Server.CreateObject ("ADODB.Connection")
objConn.Open "products"
%

    现在,数据库就已经打开了,那么你可以做些什么呢?第一件事情当然就是阅读数据库中的一系列记录,并将它们放到你的页面中去。但是,在这之前,你需要一个recordset。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

Recordset
    一个recordset是存储在特殊数据库表上的所有信息。所以,当你打开这个recordset的时候,表中所有的行和列的内容都是可访问的。你需要打开这个recordeset,正如你需要打开数据库连接一样。它们的命令是相似的:

Set objRec = Server.CreateObject ("ADODB.Recordset")
objRec.Open "downloadable", strConnect, 0,1,2

    这个语句就创建了一个名为downloadable表的recordset(objRec),这个表在products数据库的strConnect中定义。使用Recordset open, 我们就可以循环浏览这个表,并且可以将它的所有内容都显示到屏幕上。或者,我们可以测试特定字段的内容,也可以只将我们关注的内容写到屏幕上去。

    每一列代表一个字段。所以,如果数据库表如下所示:

Product ID
  SKU
  Name
  File
 
 1
  PR12345
  Product A
  install_a.exe
 
 2
  PR12346
  Product B
  Install_b.exe
 


  &nb

db, adOpenStatic, adLockOptimistic, adCmdTable
%

    (如果你没有使用adovbs.inc的复制文件,第三行应该为:objRec.Open "books", bookdb, 3,3,2).

    recordset现在就准备好接收数据了,你只需要告诉它添加什么。在这个情况下,假设我们从表格中取出变量:strBookTitle和strBookAuthor。我们的table, books有两个字段,称作Title 和 Author,所以我们可以通过使用下面的语句来添加一个新的记录:

%
objRec.AddNew
  ObjRec("Title") = strBookTitle
  objRec("Author") = strBookAuthor
  objRec.Update
%

    strBookTitle和strBookAuthor代表值,通常被用户访问。如果你只是想测试add功能,你可以给title和author添加一个变量――只是需要记住使用引号。在你第一次使用它的时候,你可能会立即打开你的数据库,以确保更新的发生。

Recordset类型
     在显示的objRec.Open例子中,你会发现在末尾有0,1,2的字样。这些数字代表不同的指针类型。你是用的类型依赖于你将使用它来干什么。例如,如果你不需要修改或增加任何的记录,你可以使用一个Lock类型。而当你计划要修改或者更新数据库的时候,你所选择的类型就会不同。

0,1,2 实际上代表:

adOpenForwardOnly, adLockReadOnly, adCmdTable

    当然,如果在你的服务器上已经有了adovbs.inc的备份,那么,你也可以不使用数字,直接使用这些单词。adovbs.inc 包括了这三个常量和其它常量的一个列表。

来源:http://www.tulaoshi.com/n/20160219/1604781.html

延伸阅读
< %@ Import Namespace="System.Data" % <%@ Import Namespace="System.Data.SQL" % <html < script language="C#" runat="server" '声明C# public DataSet dsCustomer; protected void Page_Load(Object Src, EventArgs E ) { '当打开页面时联结数据库 SQLConnection myConnection = new SQLConnection ("server=sql2....
标签: ASP
  网上介绍用ASP访问INTERBASE数据库的资料很少,经过几天的奋斗终于成功的解决了这个问题.现把部份代码和一些资料贡献给大家. <%@ language="vbscript"%         str1 = "Driver={XTG Systems Interbase6 ODBC driver};uid=sysdba;pwd=masterkey;Data Source=ly" Set conn = Server.Creat...
标签: ASP
  来源:中国计算机报 ASP是一个Web服务器端的开发环境,它提供了一种简单易学的脚本(VBScript或Jscript),并带有许多内置的对象,从而提供了一条简捷的编程之路。更为重要的是,ASP中提供了ADO对象,让程序员可以轻松操作各种数据库,从而可以产生和运行动态的、交互的Web服务应用程序。 目前,国内很多电子商务站点都采用了...
In an ASP+ page ,databases can be accessed by employing ADO+ objects. In order to retrieve values from databases through ADO+ we have to follow certain procedures which are different from those employed in ADO. The article throws Light on Various steps involved in using ADO+ in an ASP page for retrieving the datab...
标签: ASP
用ASP操作数据库时,很多人都使用记录集,但我觉得用SQL语句更好些,于是就写了这篇文章,希望对你有帮助。 <% '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' '以下段为连接数据库和断开连接(数据库为Access格式,采用DSN来连接) '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' sub c...

经验教程

491

收藏

84
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部