⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ado_recordset.asp

📁 方舟网免费空间申请程序(自助建站系统) v3.0 1 界面美观 2 后台管理功能强大:A 可以设置多种参数
💻 ASP
📖 第 1 页 / 共 2 页
字号:
<!--#include file="CONST.ASP"-->
<!--#include file="inc/chkuser.asp"-->
<!--#include file="inc/coo_footer.asp"-->
<%'@ LANGUAGE="VBSCRIPT"%>
<%'option explicit
	'dim startime
	'startime=timer()
	'dim membername
	'membername=request.cookies("CooSel")("username")
helpID=9%>
<html>
<head>
<title>[数据库查询]</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<!--\\forGlobal.asa include\\ METADATA TYPE="typelib" FILE="C:\Program Files\Common Files\SYSTEM\ADO\msado15.dll" NAME="ADODB Type Library" -->
<!--METADATA TYPE="typelib" UUID="00000205-0000-0010-8000-00AA006D2EA4" NAME="ADODB Type Library" -->
<!--#include file="inc/coosel.css" -->
<style type="text/css">
	body {  font-size: 9pt}
	table {  font-size: 9pt}
	td {  font-size: 9pt}
	.tx { font-size: 9pt;border: 1px groove ;padding-top: 2px;}
	'A:LINK    {Text-Decoration: none; color:#3366ee;}
	'A:VISITED {Text-Decoration: none; color:#888888;}
	'A:Active  {Text-Decoration: none; color:#ffffff;}
	'A:HOVER   {Text-Decoration: underline overline; color:#00aa00;}
</style>
<%
'	if not isMaster or SetPower(2,7)=false then 
	if SetPower(2,7)=false then 
		Response.write "</head><body bgcolor='#e8e8e8' text='#000000' leftmargin='0' rightmargin='0' topmargin='0' bottommargin='20'>"
		Server.Execute("TopNav1.asp")
		call GetError ("<br><li>没有进入数据库管理面板权限,或你尚未登陆!")
	end if
	call CloseDataBase()
		'if not isMaster  then Response.redirect "login.asp?action=exit"
	dim BASEtype,ErrOrINFO,SUEssOrINFO
	dim myTABLE,BASE_NAME,BaseOwner,PasswordB
		BASEtype=trim(request.form("BASEtype"))
		BASE_NAME=trim(request.form("BASE_NAME"))
		DATA_Source=trim(request.form("DATA_Source"))
		BaseOwner=trim(request.form("BaseOwner"))
	if BASEtype="" then BASEtype=trim(request.querystring("BASEtype"))
	if BASE_NAME="" then BASE_NAME=trim(request.querystring("BASE_NAME"))
	if DATA_Source="" then DATA_Source=trim(request.querystring("DATA_Source"))
	if BaseOwner="" then BaseOwner=trim(request.querystring("BaseOwner"))
		PasswordB=trim(request.form("PasswordB"))
		myTABLE=cstr(request.querystring("table")) 
	dim ASCII
		Response.buffer=true
		Response.isClientconnected

REM ===========RecordeSet分页参数=============
	dim colCount,RowCount,MaxPageSize
	dim CurrentPage,Page_Count,PageCountS
	dim k,jk,ek,TTT
		jk=0
		MaxPageSize=20
		CurrentPage=request.QueryString("page")
	if not isNumeric(CurrentPage) or CurrentPage="" then
		CurrentPage=1
	else
		CurrentPage=clng(CurrentPage)
		if err then
			CurrentPage=1
			err.clear
		end if
	end if	 %>
</head>
<body  leftmargin="0" rightmargin="0" topmargin="0" bottommargin="20">
<!--#include file="TopNav.asp" -->
<table width="100%" border="1" align="center" cellpadding="1" cellspacing="0" bordercolorlight=#999999 bordercolordark=#eeeeee background="pic/back.gif">
  <tr align="center"> 
    <td height=6 align="right" colspan='8'><img src="" width=0 height=0></td>
  </tr>
  <form name="SQLform" method="post" action="">
    <tr align="center" height="28"> 
      <td width="9%"  align="right" nowrap ><font color="#75A6F2">&nbsp;\\数据库类型:</font></td>
      <td width="15%"  align="left" nowrap ><font color="#75A6F2">&nbsp;               
        <select name="BASEtype" style="width:120" onchange="if(this.options[this.selectedIndex].value==''){SQLinput();}" >
          <option >选择数据库类型</option>
          <option value='SQL2000' <% if BASEtype="SQL2000" then %>selected<% End If %>>SQLserver2000</option>
          <option value='ACCESS' <% if BASEtype="ACCESS" then %>selected<% End If %>>MS ACCESS</option>
          <option value='Oracle' <% if BASEtype="Oracle" then %>selected<% End If %>>Oracle DATABASE</option>
          <!--  ?BASEtype=SQL2000&BASE_NAME=< %'=BASE_NAME%>&table=< %'=myTABLE% >&page=1 -->
        </select>
        &nbsp;</font></td>               
      <td width="6%"  align="right" nowrap ><font color="#75A6F2">&nbsp;\\库名:</font></td>
      <td width="17%"  align="left" nowrap ><font color="#75A6F2">&nbsp;<input name="BASE_NAME" type="text" value="<%=BASE_NAME%>" class='tx'>&nbsp;</font></td>
         
      <td width="6%" align="right" nowrap  ><font color="#75A6F2">&nbsp;\\IP:</font></td>
	  <td width="16%"  align="left" nowrap ><font color="#75A6F2">&nbsp;<input name="DATA_Source" type="text" value="<%=DATA_Source%>" class='tx'>&nbsp;</font></td>
      <td colspan=2 align="left"><span id=SQL_Inner><font color="#75A6F2">&nbsp;<input type="submit" name="SubmitBASE" value="提 交"></font></span></td>
    </tr>
    <tr align="center"> 
      <td align="right"><font color="#75A6F2">&nbsp;\\查询方式:</font></td>
      <td align="left"> <font color="#75A6F2"> &nbsp;               
        <select name="select" style="width:120" onChange="{SQLform.SQL.value=this.value}">
          <option selected>请选择查询命令</option>
          <option value="SELECT TOP 20 * FROM [<%=myTABLE%>]">Select(选择)</option>
          <option value="UPDATE [<%=myTABLE%>] SET ">Update(更新)</option>
          <option value="INSERT INTO [<%=myTABLE%>] () VALUES ('')">Insert(插入)</option>
          <option value="DELETE FROM [<%=myTABLE%>] WHERE 0>1">Delete(删除)</option>
        </select>
        &nbsp;</font></td>               
      <td align="right"><font color="#75A6F2">&nbsp;\\帐号:</font></td>
      <span id=SQL_Inner>
      <td  align="left"><font color="#75A6F2">&nbsp;<input name="BaseOwner" type="text" value="<%=BaseOwner%>" class='tx'>&nbsp;</font></td>
      <td align="right"><font color="#75A6F2">&nbsp;\\密码:</font> </td>
	  <td  align="left" ><font color="#75A6F2">&nbsp;<input name="PasswordB" type="password" value="werasdfa234" class='tx'>&nbsp;</font></td>
      <td colspan=2 align="left"><font color="#75A6F2">&nbsp;&nbsp;</font></td>
      </span>
    </tr>
    <tr align="center"> 
      <td align="right"><font color="#75A6F2">&nbsp;\\SQL语句:</font></td>
      <td colspan="6" align="left"> <font color="#75A6F2"> <% if request("sql")<>"" then %>
        &nbsp; <input id='SQL' name='SQL' size="55" accept="image/gif" style='width:97%' value="<%=request("sql")%>" class='tx'>               
        <% Else %>               
        &nbsp;               
        <input id='SQL' name='SQL' size="55" accept="image/gif" style='width:97%' value="<%="SELECT TOP 500 *  from "&chr(91)&myTABLE&chr(93)&"" %>" class='tx'> 
        <% End If %></font></td>               
      <td width="16%" align="left" ><font color="#75A6F2">&nbsp;<input type="submit" name="SubmitSQL" value="提交查询"></font></td>
    </tr>
  </form>
  <tr align="center"> 
    <td height=6 align="right" colspan='8'><img src="" width=0 height=0></td>
  </tr>
</table>
<table width="100%" border="1" align="center" cellpadding="1" cellspacing="0" bgcolor="#D4D0C8" bordercolordark=#eeeeee bordercolorlight=#999999>
  <tr>
    <td width="8"  bgcolor="#f3f3f3"><img src="" width=0 ></td>
    <td>
<%
' Response.PICS
on error resume next
IF BASE_NAME="" then  ' ==================== BASE_NAME
 ErrOrINFO="<br><li>请选择数据库类型和输入数据库名。</li>"
 call errorX()
 Response.end
ELSE '-------------------------------------BASE_NAME
'	dim CONN
	dim CONNErr
'	dim connstr
	dim db
'	dim pass_word
'	dim User_ID
'	dim cntimeout
'	dim rs,sql
		db=BASE_NAME	
if BASEtype="ACCESS" then 
REM===========ACCESS 连接========
	'db="data/TSbbs.asa" '数据库名'
	Set CONN = Server.CreateObject("ADODB.Connection")
	CONNstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(""&db&"")
	CONN.Open CONNstr
	CONNErr="<br><br><li>请仔细核对你输入的ACCESS数据库名路径是否准确"
elseif BASEtype="SQL2000" then	
REM===========SQLserver 连接========
		if Session("PasswordB")="" then
			if PasswordB<>"" then
        		Pass_word=PasswordB	 'PasswordB=密码
			end if
		else
			if PasswordB="" then
        		Pass_word=Session("PasswordB")	 'PasswordB=密码
			else
				Pass_word=PasswordB
			end if
        end if
		User_ID=BaseOwner     		 'User ID=帐号
		cntimeout=15
	Set CONN = Server.CreateObject("ADODB.CONNection")
    CONNStr="Provider=SQLOLEDB.1;Password='"&Pass_word&"';Persist Security Info=true;User ID='"&User_ID&"';Initial Catalog='"&db&"';Data Source='"&Data_Source&"';CONNect Timeout="&cntimeout&""
	''PasswordB=""
	''Response.write PasswordB
	''Response.write CONNStr
    CONN.Open CONNstr
	CONNErr="<br><br><li>请仔细核对你输入的SQL数据库名称,IP源,帐号密码是否正确。"
elseif BASEtype="Oracle" then
 ErrOrINFO="<br>尚未未建立ORACLE连接。"
 call errorX()
 Response.end
end if
				if err.number=0 and Session("PasswordB")="" then
					Session("PasswordB")=PasswordB
				Elseif err.number<>0 then
					if Session("PasswordB")="" then CONNErr=CONNErr+"<br><br><li>或Session 密码过期,请重登陆!"
					ErrOrINFO="<br>"+"<li>"&Err.Description&""+CONNErr
					err.clear
					ClosedataBase
					call errorX()
				end if
'CreatTABLE2
if BASEType="SQL2000" then '-DB_NAME
REM =========DB NAME =======读去数据库的库名对象集合,仅仅SQL==
rem=========(一)用openSchema(1)===
set rs=CONN.openSchema(1) '更多查看ADOVBS.INC
'while not rs.eof
'Response.Write rs.fields("CATALOG_NAME").value&"<br>"  
'rs.movenext
'wend
'Response.end()
rem=========(二)用系统表master.dbo.sysdatabases===
'dim SQL_dbNAME
'SQL_dbNAME="select name from master.dbo.sysdatabases"
'set rs=CONN.Execute(SQL_dbNAME )
				if err.number<>0 then
					ErrOrINFO="<br>"+"<li>"&Err.Description&"。<br><br>"
					err.clear
					ClosedataBase
					call errorX()
				end if
Response.write "<table width='100%' align=center bgcolor=#989898 border=0 bordercolor=#666666 cellspacing=1 cellpadding=3>"
Response.write "<tr bgcolor='#ffffef' >"&_
				"<td colspan=6 height=22 bgcolor=#989898 ><span style='margin-left:200px;'><font color=#ffffff><b>SQL SERVER 数据库 列表</b></font></span></td>"&_
				"</tr>"&_
				"<tr bgcolor='#ffffef' align='center'>"
	jk=0 
	dim iDB_NAME
	while not rs.EOF
			iDB_NAME=rs(0)
			 Response.write "<th bgcolor='eeffff' width='16%'><a href='?BASEtype="&BASEtype&"&BASE_NAME="&iDB_NAME&"&DATA_Source="&DATA_Source&"&BaseOwner="&BaseOwner&"&table="&myTABLE&"&page=1'>"&iDB_NAME&"</a></th>"
			jk=jk+1
			if jk mod 6 =0 then Response.write "</tr><tr align='center'>"
			RS.MoveNext
	wend
	rs.close
	ek=jk mod 6
	For i=1 to 6-ek '用余数计算把剩下的未填充表格填满'
		Response.write "<td bgcolor='eeffff'> &nbsp;</td>"
	next
	jk=0	
Response.write "</tr></table>"
'Response.end
end if '---------DB_NAME
'=============//				

REM==有两个方法取表名
REM 1=====用openSchema(20|4)函数来选择表名,字段名,对ACESS,SQLserver通用===== 
set rs=CONN.openSchema(20) '取得表名/ 
'set rs=CONN.openSchema(4) '取的表的字段名数据类型等//20:TABLE_NAME,TABLE_TYPE// 4:TABLE_COLUMNS,DATA_TYPE
dim CATA_ScheMA,TABLE_NAME,ServerIP,iTABLE_NAME,showidsSQL
	showidsSQL=trim(request("SQL"))
	serverIP=Request.ServerVariables("SERVER_NAME")
if BASEtype="SQL2000" then
	CATA_ScheMA="<font color=#FFFFaa>数据库:<b>"&rs("TABLE_CATALOG")&"</b> 所有者:<b>"&rs("TABLE_ScheMA")&"</b>(共 <b><span id=tablecount></span></b> 表) //"&serverIP&"</font>"
	if showidsSQL="" then
	TABLE_NAME="<font color=#FFFFaa>当前表:<b>"&rs("TABLE_CATALOG")&"."&rs("TABLE_ScheMA")&"."&myTABLE&"</b>(共<span id=COLScount></span>字段)</font>"
	else
	TABLE_NAME="<font color=#FFFFaa>当前结果集:<b>"&rs("TABLE_CATALOG")&"."&rs("TABLE_ScheMA")&"."&myTABLE&"</b>(共<span id=COLScount></span>列)</font>"
	end if
elseif BASEtype="ACCESS" then
	CATA_ScheMA="<font color=#FFFFaa>数据库:<b>"&BASE_NAME&" (共 <b><span id=tablecount></span></b> 表)</b></font>"
	if showidsSQL="" then
		TABLE_NAME="<font color=#FFFFaa>当前表:<b>"&myTABLE&"</b> (共<span id=COLScount></span>字段)</font>"
	else
		TABLE_NAME="<font color=#FFFFaa>当前查询结果:<b>"&myTABLE&"</b> (共<span id=COLScount></span>列)</font>"
	end if
elseif BASEtype="Oracle" then
	CATA_ScheMA="<font color=#FFFFaa>数据库:<b>"&rs("TABLE_CATALOG")&"</b> 所有者:<b>"&rs("TABLE_ScheMA")&" (共 <b><span id=tablecount></span></b> 表)</b></font>"
	TABLE_NAME="<font color=#FFFFaa>当前查询结果:<b>"&rs("TABLE_CATALOG")&"."&rs("TABLE_ScheMA")&"."&myTABLE&"</b></font>"
end if

				if err.number<>0 then
					ErrOrINFO="<br>"+"<li>"&Err.Description&"。<br><br><li>可能你改变了查询的数据库,请在上面点选新数据库的表"
					err.clear
					ClosedataBase
					call errorX()
				end if
REM================//

REM 2=====用系统表sysobject来选择表名,之后用fields.NAME来取的记录集的名字=====
'for Access: sql=SELECT * from MSysObjects;
'for SQL server: sql="SELECT name from sysobjects where type='U' order by crdate desc"
'type,xtype都是类型,U是用户表,S是系统表
'''''''''
rem 'set rs=server.createobject("adodb.recordset")
rem 'sql="SELECT name,type,xtype from sysobjects where xtype='U' order by name" 
rem 'rs.open sql,CONN,0,1
REM =================//
Response.write "<table width='100%' align=center bgcolor=#989898 border=0 bordercolor=#666666 cellspacing=1 cellpadding=3>"
Response.write "<tr bgcolor='#ffffef' >"&_
				"<td colspan=6 height=22 bgcolor=#989898 ><span style='margin-left:200px;'>"&CATA_ScheMA&"</span></td>"&_
				"</tr>"&_
				"<tr bgcolor='#ffffef' align='center'>"
	while not rs.EOF
			iTABLE_NAME=rs("TABLE_NAME")
		if rs("TABLE_type")="TABLE" then  '屏蔽掉系统表 DATA_Source,BaseOwner,PasswordB
			 'Response.write "<th bgcolor='eeffff'><a href='?"&server.urlencode("BASEtype="&BASEtype&"&BASE_NAME="&BASE_NAME&"&table="&iTABLE_NAME&"&page=1")&"'>"&iTABLE_NAME&"</a></th>"
			 Response.write "<th bgcolor='eeffff' width='16%'><a href='?BASEtype="&BASEtype&"&BASE_NAME="&BASE_NAME&"&DATA_Source="&DATA_Source&"&BaseOwner="&BaseOwner&"&table="&iTABLE_NAME&"&page=1'>"&iTABLE_NAME&"</a></th>"
			'Response.write "<th bgcolor='eeffff'>"&rs("TABLE_catalog")&"</th>" '库名,ACCESS不支持
			'Response.write "<th bgcolor='eeffff'>"&rs("TABLE_Schema")&"</th>"  所有者
			'Response.write "<th bgcolor='eeffff'>"&rs("TABLE_type")&"</th>" 类型 表或系统表
			'----用第二种方法读取表名
			''Response.write "<th bgcolor='eeffff'><a href='?page=1&table="&rs(0)&"'>"&rs(0)&"</a></th>"
			'===/
			jk=jk+1
			if jk mod 6 =0 then Response.write "</tr><tr align='center'>"
		end if
			RS.MoveNext
	wend
 rs.close
		ek=jk mod 6
'---------填充剩余单元格---------
	For i=1 to 6-ek '用余数计算把剩下的未填充表格填满'
		Response.write "<td bgcolor='eeffff'> &nbsp;</td>"
	next
	%><script>window.tablecount.innerHTML='<%=jk%> ';</script><% '把统计的表数写当上端
rem===GetString=======行列分隔,第二个参数是指定提取纪录数,不指定则是全部提取,第一个分割列,第二个分割行

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -