第三章+asp数据库编程.doc
《第三章+asp数据库编程.doc》由会员分享,可在线阅读,更多相关《第三章+asp数据库编程.doc(41页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、在ASP中使用数据库网易科技报道 前往科技论坛2004-11-05 13:01:35 来源: 网易社区 不良信息举报发表评论查看评论本文关键字:教程/ASP/技巧 ASP有一个最重要的功能,就是它可以让你非常轻松地连接数据库。通常都是和一个Access或者一个SQL数据库相连。因为Access是最容易起步的,同时,在你的机器上也许已经都装有Access了,所以,在下面的例子中,我们都将使用Access来做例子。一旦你学习了ASP和Access数据库连接的核心技术方法,当你开始使用SQL server的时候,你就会发现,两者所需要的关键技术是基本相同的。 当你要连接数据库的时候,你需要在服务器上
2、将这个数据库打开。你可以通过使用数据源名(DSN)或者通过在你的脚本语言中直接使用一个DSN-less连接的方法来连接和打开数据库。 创建一个数据源名(DSN) 你可以通过在控制面板中给你的数据库建立一个系统DSN来使你的数据库可以在ASP中连接使用。你可以在你的本地计算机上建立若干个DSN,每个DSN对应你使用的不同的数据库。在建立完DSN之后,你就可以在你的本地服务器上测试你的页面了。如果你的网站是由 ISP提供服务的,并且这个ISP支持ASP,那么很有可能它就会提供一个GUI接口,来给你的数据库创建一个DSN。 在Windows 95/98/NT中,打开控制面板(开始菜单设置控制面板),
3、双击ODBC进入。 选择系统DSN,点击Add。 选择“Microsoft Access Driver”,点击结束。 填写数据源名。这是你给你的数据库起的名字,所以和一个alias是同样的操作。 在数据库选择中点击选择按钮,浏览系统中你创建的Access数据库所存放的位置。 点击OK 现在,新的DSN现在就会在系统DSN中显示,并且可以在你的本地服务器上使用了。连接数据库 让我们建立一个DSN-less连接,并且看看是如何连接数据库的。当你创建一个DSN的时候,你就已经存储了关于这个数据库的一些信息,所以你不需要在每次需要使用一些信息的时候重复它们,这些信息如:数据库类型、名称、存放地点和可选
4、性、用户和密码。 要创建一个DSN-less连接,你就需要提供同样的信息。下面这个例子就显示了如何给一个叫products的数据库建立一个DSN-less连接: 第二行定义了数据库的驱动和物理路径。为了要使用一个DSN-less连接,你就需要知道实际的文件存放地点(绝对路径)。Server.MapPath给任何一个使用主机服务的人提供了一个简单的工作环境来查找出那些难于查到的实际访问路径。 如果我们已经建立了一个系统DSN,并命名为products,则连接码应该为: 现在,数据库就已经打开了,那么你可以做些什么呢?第一件事情当然就是阅读数据库中的一系列记录,并将它们放到你的页面中去。但是,在这
5、之前,你需要一个recordset。Recordset 一个recordset是存储在特殊数据库表上的所有信息。所以,当你打开这个recordset的时候,表中所有的行和列的内容都是可访问的。你需要打开这个recordeset,正如你需要打开数据库连接一样。它们的命令是相似的:Set objRec = Server.CreateObject (ADODB.Recordset)objRec.Open downloadable, strConnect, 0,1,2 这个语句就创建了一个名为downloadable表的recordset(objRec),这个表在products数据库的strConn
6、ect中定义。使用Recordset open, 我们就可以循环浏览这个表,并且可以将它的所有内容都显示到屏幕上。或者,我们可以测试特定字段的内容,也可以只将我们关注的内容写到屏幕上去。 每一列代表一个字段。所以,如果数据库表如下所示:Product IDSKUNameFile1PR12345Product Ainstall_a.exe2PR12346Product BInstall_b.exe 那么,我们就有如下字段的内容:ProductID, SKU, Name, 和File。你的表很可能会有许多额外的字段内容,可能包含很多东西,如价格或者是产品(商品)描述。但是这个示意图可以给你提供最基
7、本的数据库表的概念。填写recordset内容 使用recordset是非常容易的一件事情。如果你想要循环浏览数据库,并将所有的信息都打印到屏幕上显示,你可以按照下面来操作:While NOT objRec.EOF says to do this as long as we havent reached the end of the file Response.WriteobjRec(ProductID) & , Response.WriteobjRec(SKU) & , Response.WriteobjRec(Name) & , Response.WriteobjRec(File) & o
8、bjRec.MoveNext Wend ; 即使你没有如此使用过loop,你仍然可以通过阅读这个代码来将信息写到comma-delimited字符串里,并且当数据库表中创建了一个新行的时候,就重新创建一个新的行,来记录表中的那一行。你可以使用同样的方法将数据写到HTML表格中去。通过使用Response.Write添加你的TABLE标签,需要记住以下几点:你的HTML 标签和引号中的内容。 如果你的标签或者内容使用了引号,注意使用双引号:. 使用&来连接变量和HTML/内容信息 选择recordset中的字段假设我们的products数据库同样包含一个叫OS的字段,假设这个字段是一个平台分界符
9、。同样,让我们假设存储在这个字段的数据只能是如下的数据:Windows NT, Windows 95, Windows 98, Windows, Mac, Unix, 或者 Linux。 下面,我们就可以确认我们需要将哪个字段打印到屏幕上,而要忽略哪些那些字段。或者,我们可以选择哪些字段用一种格式,而另外的字段用其它的格式,如,使用不同的颜色。 使用一个简单的If.,循环就可以给我们提供更多的数据库控制权利。首先让我们来打印有关Windows NT产品的记录: FONT SIZE=+1Windows NT Products % While NOT objRec.EOF If objRec(OS
10、) = Windows NT THEN specifies the criteria Response.Write & objRec(ProductID) & Response.Write & objRec(SKU) & Response.Write & objRec(Name) & Response.Write & objRec(File) & end if objRec.MoveNext Wend%添加一个记录 一旦你开始使用recordset和ASP了,你就会十分希望能够通过网络将数据添加到数据库中去。添加内容是非常重要的,如,当你需要你的网页浏览者留下它们的观点和看法,或者,当你想要进
11、行管理更新的时候。 下面的代码打开了一个recordset,这个recordset是有关一个有着书本和它们作者名字的数据库表格。你可能曾经看到过这个,但是这次,最后三个说明书定义的指针类型是不同的:adOpenStatic, adLockOptimistic, adCmdTable: (如果你没有使用adovbs.inc的复制文件,第三行应该为:objRec.Open books, bookdb, 3,3,2). recordset现在就准备好接收数据了,你只需要告诉它添加什么。在这个情况下,假设我们从表格中取出变量:strBookTitle和strBookAuthor。我们的table, b
12、ooks有两个字段,称作Title 和 Author,所以我们可以通过使用下面的语句来添加一个新的记录: strBookTitle和strBookAuthor代表值,通常被用户访问。如果你只是想测试add功能,你可以给title和author添加一个变量只是需要记住使用引号。在你第一次使用它的时候,你可能会立即打开你的数据库,以确保更新的发生。Recordset类型 在显示的objRec.Open例子中,你会发现在末尾有0,1,2的字样。这些数字代表不同的指针类型。你是用的类型依赖于你将使用它来干什么。例如,如果你不需要修改或增加任何的记录,你可以使用一个Lock类型。而当你计划要修改或者更新
13、数据库的时候,你所选择的类型就会不同。0,1,2 实际上代表:adOpenForwardOnly, adLockReadOnly, adCmdTable 当然,如果在你的服务器上已经有了adovbs.inc的备份,那么,你也可以不使用数字,直接使用这些单词。adovbs.inc 包括了这三个常量和其它常量的一个列表。Oracle大文本在ASP中存取问题的解决2005-10-27 19:11:43 来源:CSDN 我要投稿本文章地址: 点此复制地址 在我开发BS结构程序中,由于经常需要在ORACLE中处理一些容量较大的文本数据,所以经过反复测试终于用ASP成功解决了大文本数据在ORACLE下存取
14、问题。一、运行环境:1、Microsoft Windows 2000 Server + IIS 5.02、Oracle8i中文标准版二、建立数据表:CREATE TABLE SYSTEM.TEST(BLOB LONG,ID NUMBER)/三、源程序:1、数据存入程序:test.asp%表单提交处理部分-If request(ok)=1 then字符转换函数function tansstr(sstr) sstr=replace(sstr, , )sstr=replace(sstr,chr(13) & chr(10),br)tansstr=sstrend function提交数据赋值a
15、=lenb(request(text)b=len(request(text)c=tansstr(request(text)打开数据库,打开test数据表以Rs为记录集Set OraSession=CreateObject(OracleInProcServer.XOraSession)Set OraDatabase=OraSession.DbOpenDatabase(autop,system/manager,0)Set rs=OraDatabase.CreateDynaset(select * from test order by id desc,0) 求ID值if rs.eof thenid=
16、1elseid=rs(id)+1end if因为受SQL语句长度大小限制所以,以非SQL语句存入数据-新建记录rs.DbAddNew经典就在本句:以RS记录集的Fields对象的DbAppendChunk方法处理大字段存入问题。rs.Fields(blob).DbAppendChunk(c)存入ID值rs(id)=id刷新记录集rs.DbUpdate显示结果部分- Response.write 数据已经存入数据库中。brResponse.write 总计占用字符数: font color=blue & formatnumber(b,2,-2,-2,-1) & /font 字brResponse
17、.write 总计占用字节数: font color=blue & formatnumber(a,2,-2,-2,-1) & /font BytebrResponse.write a href=view.asp请调阅/a关闭数据连接。rs.closeset rs=nothingSet OraSession=nothingResponse.endEnd If%htmlbodyform method=POST action=test.asppfont color=#FF0000bOracle大字段在ASP中存取问题的解决:/b/font/pptextarea rows=13 name=text c
18、ols=104/textarea/ppinput type=submit value=存入 name=B1/pinput type=hidden name=ok value=1/form/body/html2、数据调出程序:view.asp%连接数据库,以只读方式打开数据表Set OraSession=CreateObject(OracleInProcServer.XOraSession)Set OraDatabase=OraSession.DbOpenDatabase(autop,system/manager,0)Set Rs=OraDatabase.DbCreateDynaset(sele
19、ct * from test order by id desc,4)赋初值:定义每次截取字节大小为1024byte,最大可以设为65280byte (64K)Size=65280I=0Do以Rs记录集的Fields对象的DbGetChunk方法在循环中读出数据Text=Rs.Fields(Blob).DbGetChunk(I*Size,Size)Response.write Text求出每次取出数据的详细字节数Text_Size=Lenb(Text)I=I+1如果每次取出数据的详细字节数小于欲定义的截取字节大小则说明该条数据已经完毕,退出循环。 Loop until Text_SizeSize
20、关闭数据连接Set OraSession=nothing%在ASP中使用Oracle数据库2005-10-27 19:29:59 来源:天极网 我要投稿本文章地址: 点此复制地址Oracle是世界上用得最多的数据库之一,活动服务器网页(ASP)是一种被广泛用于创建动态网页的功能强大的服务器端脚本语言。许多ASP开发人员一直在考虑,能否在开发互联网应用、电子商务网站、互联网管理系统时结合使用ASP和Oracle数据库?这个问题的答案是肯定的,我们还可以使用VB访问Oracle数据库。在本篇文章中,我们将主要讨论如何使用ASP来处理Oracle数据库中数据的方法。 在开始讨论这个问题前,我们需要了
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第三 asp 数据库 编程
限制150内