以文本方式查看主题

-  ╋艺 镇╋  (http://zyzsky.com/bbs/index.asp)
--  ┣◇网站建设&Web语言  (http://zyzsky.com/bbs/list.asp?boardid=4)
----  sql数据导出到EXCEL中比较简单的方法 asp杂项学习  (http://zyzsky.com/bbs/dispbbs.asp?boardid=4&id=1519)

--  作者:admin
--  发布时间:2008/5/7 13:38:33
--  sql数据导出到EXCEL中比较简单的方法 asp杂项学习

sql数据导出到EXCEL中比较简单的方法

初学asp的同志们都会碰到这么一个问题,就是如何把sql数据库的数据导入到excel中。在网络上有很多的方法,在这里给大家介绍一个很简单的方法,我不敢说最简单,呵呵。</p><p>在asp文件的开始部分加入下面三条语句即可。
Response.Buffer=TRUE
Response.AddHeader"Content-Disposition","attachment"
Response.contentType="application/vnd.ms-excel"
这样,在客户端打开这个文件的时候,会提示下载到本地,当然了,这需要客户端安装EXCEL软件(应该这不是问题吧,呵呵)。</p><p></p>


<div align="right"><a href=# onClick="window.print();">打印</a>


<OBJECT id=WebBrowser classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 width=0>
</OBJECT>
<input type=button value=打印 onclick=document.all.WebBrowser.ExecWB(6,1)>
<input type=button value=直接打印 onclick=document.all.WebBrowser.ExecWB(6,6)>
<input type=button value=页面设置 onclick=document.all.WebBrowser.ExecWB(8,1)>
<input type=button value=打印预览 onclick=document.all.WebBrowser.ExecWB(7,1)>

要分开打印的内容用Table圈定,要分页的时候可用一个<div></div>标签标记

 

<!--#include file="ado/adovbs.inc"-->
<%
set conn=server.createobject("adodb.connection")
strprovider="provider=sqloledb;data source=trustshare\\computer;initial catalog=txl;user id=sa;password=sa;"
conn.open strprovider
%>

conn.fun文件

strprovider=SQLOLEDb;这个是指定用adO的什么方式:
分为两种,一种是odbc,再一种就是这个了oled,
strprovider是专项驱动指定,如果用前者,需要用dirver来指定,strprovider="provider=sqloledb;data source=zjf;initial catalog=txl分别是用户名,密码,连接方式,和权限类型

 

错误类型:
Microsoft OLE DB Provider for SQL Server (0x80004005)
[DBNETLIB][ConnectionOpen (Connect()).]SQL Server 不存在或拒绝访问。
/it/select.asp, 第 22 行

data source=trustshare\\computer  这不是书上说的zjf,而是自己的电脑上sqlserver的数据库名

 

连接字符串属性无效????奇怪了
 悬赏分:0 - 提问时间2006-1-14 13:40
<%
dim conn,connstr
ConnStr = "Provider = Sqloledb; UserID=54163; Password=****; Initial Catalog=comwedata; Data Source=61.141.8.163;"
set conn=server.createobject("ADODB.CONNECTION")
conn.open connstr
%>
其中:Password=****; 表示密码
错误提示:
Microsoft OLE DB Provider for SQL Server 错误 \'80040e4d\'

连接字符串属性无效

/Inc/conn.asp,行 5
提问者:一天一天等上去 - 试用期 一级

换成下面的连接方式就不会出现这样的提示,好怪。
connstr
="driver={SQL Server};database=yourdatabase;Server=61.141.8.163;uid=54163;pwd=****"

 


几个变量名含义


1、   AdOpenForwardOnly   (默认值)一次只能向前移动一行。  
  2、   AdOpenKeyset   打开键集类型游标。  
  3、   AdOpenDynamic   打开动态类型游标  
  4、   AdOpenStatic   打开静态类型游标。  
  AdOpenForwardOnly和AdOpenStatic这两种游标使得记录集只读,它表示创建数据的一个快照。后者比前者灵活,因为它可以允许任意方向移动。  
  AdOpenKeyset允许任意移动,并且允许更改记录集。其他用户对记录集的添加和删除,这个游标反映不出来。但它能反映出其他用户对记录集的更改。  
  AdOpenDynamic允许所有操作,其他用户对记录集的添加、删除、更改在此记录集中  
  都是可见的。  
  AdLockReadOnly   (默认值)只读   ---   不能改变数据。  
  AdLockPessimistic   悲观锁(逐个)---   为确保成功完成编辑记录所需的工作,  
  在编辑时立即锁定数据源的记录。  
  AdLockOptimistic   乐观锁(逐个)---   只在调用Update   方法时才锁定记录。  
  AdLockBatchOptimistic   乐观批更新---用于批更新模式(与立即更新模式相对)。

 


什么时候用“adcmdtext/adcmdtable"

rs.open strsql,con,,,adcmdtext,有些不明白,什么时候运用adcmdtext,什么时候运用adcmdtable,碰到两个例子,一个是关于批量更新数据,运用了adcmdtext,而另一个是关于数据检索的,运用了adcmdtable,这是为什么?

君三思 2002-9-25 08:29
 
adCmdText表示為一SQL指令、adCmdTable表示表格名稱、adStoredProc表示預儲函式的名稱、…等等。對於adCmdTable的設定值,ADO實際上是用一"select * from table_name"的SQL指令送給資料庫

所以你其实是可以不管它的

使的时候直接 rs.open sql,conn,1,1或3,3基本上就没问题了
至于其它完全可以不考虑

 

rs.AbsolutePage=pagecount

分页显示中这句话是什么意思呀?
提问者: BZOCK - 试用期 一级
最佳答案
AbsolutePage--指示当前记录所在的页。

设置和返回值:
设置或返回从 1 到 rs 对象所含页数 (PageCount) 的 Long 值,或者返回一个 PositionEnum 值。

说明:
用 AbsolutePage 属性标识当前记录所在的页码。用 PageSize 属性将 rs 对象逻辑划分为一系列的页,每一页的记录数都等于 PageSize(最后一页除外,因为它的记录数可能较少)。提供者必须支持相应的功能才能使用此属性。

与 AbsolutePosition 属性一样,AbsolutePage 也是从 1 开始,并且当前记录是 rs 的第一个记录时等于 1。设置此属性以移动到某一页的第一个记录。通过 PageCount 属性获得总页数


<%
session.Abandon
Response.Write "<script>alert(\'欢迎您下次使用!\');location.href=\'default.asp\'</script>"
%>

用于页面跳转,先弹对话框,再到指定页面。

传递单选功能信息
<input type="radio" value="男"  name="sex" <%if rs("d_sex")=男 then response.write"checked" end if%>> 男
  <input type="radio" name="sex" value="女" <%if rs("d_sex")=女 then response.write"checked" end if%>> 女
这样就ok
传递选择框信息
<select size="1" name="sex">
<option value="男" <%if rs("d_sex")="男" then response.write "selected"%>>男</option>
<option value="女" <%if rs("d_sex")="女" then response.write "selected"%>>女</option>
</select>


clng   整数运算

 

获得系统日期时间:<%=now()%>
    获得系统日期:<%=date()%>
    获得系统时间:<%=time()%>
    取得来访用的IP:<%=request.serverVariables("remote_host")%>
    获取n到m随机数: <%randomize%> <%=(int(rnd()*(m-n+1))+n)%>


<script language=JavaScript>

today=new Date();
function initArray(){
this.length=initArray.arguments.length
for(var i=0;i<this.length;i++)
this[i+1]=initArray.arguments[i] }
var d=new initArray(
"星期日",
"星期一",
"星期二",
"星期三",
"星期四",
"星期五",
"星期六");
document.write(
"<font color=#666666 align=\'center\' style=\'font-size:9pt;font-family: 宋体\'> ",
today.getYear(),"年",
today.getMonth()+1,"月",
today.getDate(),"日",
d[today.getDay()+1],
"</font>" );
</script>

 

实现全选功能
<input   type=checkbox   name="All"   onclick="checkAll(\'checkID\')">全选  
   
  <input   type=checkbox   name="checkID">  
  <script   LANGUAGE="javascript"   type="text/javascript">  
  function   checkAll(str)  
  {  
      var   a   =   document.getElementsByName(str);  
      var   n   =   a.length;  
      for   (var   i=0;   i<n;   i++)  
      a[i].checked   =   window.event.srcElement.checked;  
  }  
  </script>


返回上一页的代码是什么?

比如href=nextpage?象这样的代码?
  阿伟(7400484) 10:14:49
response.write"<a href=\'javascript:history.go(-1)\'><b>??</b></a>"
 

<%
............
%>


**********************删除确认************************

 

<a href="del.asp?l_id=<%=rs("id")%>" onClick="{
if(confirm(\'确定要删除该留言以及所有属于此留言的回复吗?\'))
{return true;}return false;}">删除留言</a>

 


用弹出确认框来确认删除内容(信息动态生成)
以下内容为程序代码:

 

然后要在原先“删除”的链接里加上“onClick=\'\'\'\'Confirmer()\'\'\'\'”,

 

<input type="submit" name="del" onClick="{
if(confirm(\'是否确认删除?\'))
{return true;}return false;}" value="确定删除" ></p>

**********************************************************

程序执行的功能是,对按钮的点击操作是否运行来确认是否删除


UBound 用来确定数组某一维的上界。


设为当天时间的代码value="<%= date() %>"