ASP实现让数据库连接仅在需要读取数据库时打开

数据|数据库|数据库连接

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

  Function Open_conn()
  dim Conn,Strconn
  set Conn=server.createobject("adodb.connection")
  Strconn = "Provider = Sqloledb; User ID = 数据库登录帐号; Password = 数据库登录密码; Initial Catalog = 数据库名称; Data Source = (local);"
  Conn.open Strconn
  set Open_conn=Conn
  If Err Then
  err.Clear
  Conn.close:set Conn=nothing
  Response.Write "对不起,数据库连接出错。"
  Response.End
  End If
  End Function

  调用方法:

  将原来的

  rs.open sql,conn

  改成

  rs.open sql,Open_conn()

  以下是ACCESS连接代码:

  Function Open_conn()
  dim Dbpath,Conn
  Dbpath=server.MapPath("数据库路径")
  set Conn=server.createObject("ADODB.connection")
  Conn.open "data source="&dbpath&";provider=microsoft.Jet.OLEDB.4.0;"
  set Open_conn=Conn
  If Err Then
  err.Clear
  Conn.close:set Conn=nothing
  Response.Write "对不起,数据库连接出错。"
  Response.End
  End If
  End Function

  调用方法:

  将原来的

  rs.open sql,conn

  改成

  rs.open sql,Open_conn()

  顺便提供一个同一服务器上可以跨站共享ACCESS数据库的老代码,也许有朋友用得着:
  
  有时,我们有很多二级域名,可能需要让这些二级域名调用某同一个ACCESS数据库,在你不愿意使用SQL数据库的情况下,数据库连接可以采用以下办法。(特别提示:如果你的服务器做了FSO安全权限,需要将这个数据库目录设置为,允许你需要调用的各站的IIS用户有权访问修改。)
  
  以下的数据库物理路径类似于 E:\目录\目录\数据库名

  dim Conn,Strconn
  Set Conn = Server.CreateObject("ADODB.Connection")
  Strconn="Provider = Microsoft.Jet.OLEDB.4.0; "
  Strconn=Strconn & "Data Source=数据库物理路径"
  Conn.Open Strconn
  If Err Then
  err.Clear
  Conn.close:set Conn=nothing
  Response.Write "对不起,数据库连接出错。"
  Response.End
  End If

时间: 2024-10-29 11:14:37

ASP实现让数据库连接仅在需要读取数据库时打开的相关文章

asp 读取数据库-asp编写的网页,读取数据库时,找不新建的表中数据,rs.eof 为真(此网页可读取别的表中的数据)

问题描述 asp编写的网页,读取数据库时,找不新建的表中数据,rs.eof 为真(此网页可读取别的表中的数据) <% size=request("size") c1=request("case") if size="" then size=20 end if n=1 title=trim(request("title")) action=request("action") sh=request(&qu

ASP教程:第十七篇 ADO 存取数据库时如何分页显示

什么是 ADO 存取数据库时的分页显示?如果你使用过目前众多网站上的电子公告板程序的话,那你应该会知道电子公告板程序为了提高页面的读取速度,一般不会将所有的帖子全部在一页中罗列出来,而是将其分成多页显示,每页显示一定数目的帖子数,譬如 20 条.想不想了解如何实现分页显示?请看本文! <动态网站设计十八般武艺 --ASP 篇>一文从第一期至今已和朋友们一起度过了大半个年头,相信通过在这一段时间中的学习.实践到再学习.再实践,大家已经能够熟练运用 ASP 的内建对象. ActiveX 组件去编写

Php解决读取数据库时显示乱码

首先需要修改文件的类型 我的utf8 提交资料的时候 需要在mysql_query上加这么语句话  代码如下 复制代码 mysql_query("SET NAMES 'utf8'",$db);     然后数据库的编码也得是utf8_general_ci   然后在读取的时候 也加  代码如下 复制代码 mysql_query("SET NAMES 'utf8'",$db);      然后就不会实现乱码了 以下代码是是实例  代码如下 复制代码 <?php

ruby读取数据库时中文不能正常显示?

问题描述 数据库是ms sql2000,有张数据库表a, 字段如下: a b 1 数学 2 语文 ruby代码: require "dbi" dbh=DBI.connect('DBI:ADO:Provider=SQLOLEDB;Connect Timeout=5;DataSource=localhost;Initial Catalog=cs;Persist SecurityInfo=True;User ID=sa;Password=sa;') sth=dbh.prepare("

asp.net中使用vb.net编程读取oracle数据库

问题描述 asp.net中使用vb.net编程读取oracle数据库 小弟刚学asp.net现在数据库连接完成,我在某一列插入了数据,我想在页面中读取出来,我使用的代码为 Dim sqlStr As String = "select*from AGVNEW1 where agvId" Dim myCmd As OracleCommand = New OracleCommand(sqlStr, myconnection) myCmd.Parameters.Clear() myCmd.Pa

asp.net-ASP.NET读取数据库某一列(那一列是歌词)时候显示不完全,为什么

问题描述 ASP.NET读取数据库某一列(那一列是歌词)时候显示不完全,为什么 ASP.NET读取数据库某一列(那一列是歌词)时候显示不完全,为什么 解决方案 问题应该不是出现在取数上,应该是显示区有什么现在. 建议看下源HTML,先检查数据,再检查容器样式.

Ajax+Asp源代码]读取数据库内容的表格(没有用框架)

ajax|数据|数据库|源代码 功能: 读取数据库内容的表格.读取数据方式为ajax,分页也是.代码写得不好.呵呵.供一些学习ajax的朋友参考参考.如有不妥请大家跟贴纠正.我会根据大家的提议不断修正代码. 目前还有一个小问题,如果有朋友有兴趣帮我解决一下在下不胜感激 你翻到最后一页的时候如果只有一行会出现空白和undefined.这个问题我试了很多方法一直没有很妥当的解决. 注:下面一些地方出现笑脸表情的是 大写的d 其实很多地方都可以根据asp文件中输出的字符来控制.目前还没有往那方面完善.

VS2005+SQL2005 ASP.NET2.0数据库连接

asp.net|sql|sql2005|数据|数据库|数据库连接 对于的新手来说,整个数据库连接不太容易,根据连接过程中的问题总结如下. 1.开启SQL2005远程连接功能,开启办法如下: 配置工具->SQL Server外围应用配置器->服务和连接的外围应用配置器->打开MSSQLSERVER节点下的Database Engine节点,先择"远程连接",接下建议选择"同时使用TCP/IP和named pipes",确定后重启数据库服务就可以了.

asp.net中读取数据库的两种方式

asp.net|数据|数据库 在asp.net中,读取数据库中的数据可以使用DataReader和DataSet 2种方式,两者的差异如下: 使用Dataset对象读取数据大致需要以下5个步骤: (1)建立数据库链接,可以选用SQLConnection或者01edbConnection. (2)将查询保存在SQLDataAdapter或者oledbDataAdapter对象中. (3)使用DataAdapter对象的Fill方法将数据填充到DataSet中的DataTable中. (4)为Dat