仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 526|回复: 7
打印 上一主题 下一主题

[学习教程] ASP编程:SQL SERVER布局扫瞄器

[复制链接]
飘飘悠悠 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:28:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
对于中小型web应用来说,php有很强的竞争力,linux+apache+mysql+php(lamp)的组合几乎可以胜任绝大多数网站的解决方案,对于大型应用来讲,对于系统架构要求更高,需要有成熟的框架支持,jsp的struts是个不错的框架,国内介绍它的资料也非常多,应用逐渐广泛起来。asp就不用说了,从老外那儿转帖过去的

很酷,只需修正几个参数就能够了,很有匡助

<%@LANGUAGE=JScript%>
<%
varConnStr="DSN=admin";//
varUserLogin="sa";//inputemptyLoginandPassword,
varUserPassword="";//ifyourDSNworksviaWinNTtrustconnection
varCharSet="gb2312";//assample"windows-1251"
varPgSize=10;
%>
<html>
<head>
<metahttp-equiv="content-type"content="text/html;charset=<%=CharSet%>">
<title>MSSQLStructureViewerVersion1.2</title>
</head>
<bodybgcolor=#2f2f2flink=#000000vlink=#000000alink=#000000topmargin=1leftmargin=1>
<tablewidth=100%bgcolor=graycellpadding=0cellspacing=0><td>
<tablewidth=100%cellpadding=0cellspacing=1>
<tr><tdalign=center>
<fontcolor=whitesize=+1><b>MSSQLWebTools>>TableStructureViewer</b></font></td>
<tdalign=right>
<fontcolor=black><small><b>writtenby
<ahref="mailto:little@ivc.tagmet.ru">
<fontcolor=black><small><b>AlexanderTkalich</b></small></a></b></small></font>
</td></tr>
</table>
</td>
</table>
<p>
<%
vartrColor1="#7f9faf",trColor2="#bfcfd7";
vartrColor=trColor1;

functionisDef(Value){
if(Value==(Value+""))returntrue;
returnfalse;
}

functionQOutSelect(Conn,Name,Value,FirstName,FirstValue,SQL,SSize){
varRs=Conn.Execute(SQL);
Response.Write("<selectname="+Name+"size="+SSize+">");
if(FirstName!="")
Response.Write("<optionvalue="+FirstValue+">"+FirstName);
for(;!Rs.EOF;Rs.MoveNext()){
Id=Rs(0);
Nm=Rs(1);
if(Value==""+Id)S=selected;elseS=;
Response.Write("<optionvalue="+Id+""+S+">"+Nm+"
");
}
Response.Write("</select>");
}

varS,DbName,TbName,Tbl,Row;
if(!isDef(DbName=Request.Form("DbName")))
DbName=Request.QueryString("DbName");
if(!isDef(TbId=Request.Form("TbId")))
TbId=Request.QueryString("TbId");
Tbl=Request.QueryString("Tbl");
Row=Request.QueryString("Row")/1;
%>

<center>

<%
varConn=Server.CreateObject("ADODB.Connection");
Conn.Open(ConnStr,UserLogin,UserPassword);

if(!isDef(Tbl)){
%>

<formname=fmethod=postaction=TbStru.asp>
<inputtype=hiddenname=CurrentDbvalue=<%=DbName%>>
<tableborder=1bgcolor=#7f9fafcellpadding=0cellspacing=0><td>
<tableborder=0cellpadding=8cellspacing=0><trvalign=bottom><tdalign=center><b>Databases</b><br>

<%
QOutSelect(Conn,"DbNameonChange=document.f.submit();",DbName,"","",
"selectname,namefrommaster.dbo.sysdatabasesOrderbyname",10);
Response.Write(</td>);
if(isDef(DbName)){
Response.Write(<tdalign=center><b>Tables&Views</b><br>);
QOutSelect(Conn,"TbIdonChange=document.f.submit();",TbId,,,
"selectid,namefrom"+DbName+".dbo.sysobjectswheretypein(U,V)andcategory2OrderByName",10);
Response.Write(</td>);
}
if(isDef(DbName))S=Showstructure;
elseS=Showlistoftables;
Response.Write(
"
<td><tableheight=100%border=0>
"+
"<trvalign=bottom><td><inputtype=submitvalue="+S+"></td></tr>
"+
"</table></td></tr></table></td></table></form><p>
"
);
}

if(!isDef(CurrentDb=Request.Form("CurrentDb")))
CurrentDb=Request.QueryString("CurrentDb");
if(!isDef(Tbl)&&isDef(DbName)&&DbName+""==CurrentDb+""&&isDef(TbId)){
Rs=Conn.Execute(
"selectO.name,U.name"+
"from"+DbName+".dbo.sysobjectsO,"+
DbName+".dbo.sysusersU"+
"whereO.id="+TbId+"andU.uid=O.uid"
);
TbName=Rs(0);
TbOwner=Rs(1);
Response.Write(
"<atarget=_blankhref=TbStru.asp?Tbl=["+DbName+"].["+TbOwner+"].["+TbName+"]&TbId="+TbId+
"&DbName="+DbName+">"+
"<fontcolor=white><b>"+DbName+"."+TbOwner+"."+TbName+"</b></font></a>
"
);
Response.Write("<br>
");
Rs=Conn.Execute(
"selectC.name,T.name,C.length,C.xprec,C.xscale,"+
"C.colstat,C.isnullable,"+
"casewhenC.autovalisnullthen0else1end,"+
"SC.text,"+
"(selectCForgin.name+of+<ahref="TbStru.asp?"+
"DbName="+DbName+"&CurrentDb="+DbName+
"&TbName=+O.name+&TbId=+Convert(varchar,Sr.rkeyid)+"+
""><b>+O.name+</b></a>"+
"from"+DbName+".dbo.sysreferencesSr,"+
DbName+".dbo.sysobjectsO,"+
DbName+".dbo.syscolumnsCForgin"+
"whereSr.fkeyid="+TbId+"andSr.fkey1=C.colidandSr.rkeyid=O.id"+
"andCForgin.id=O.idandCForgin.colid=Sr.rkey1"+
")from"+DbName+".dbo.syscolumnsC,"+
DbName+".dbo.systypesT,"+
DbName+".dbo.syscommentsSC"+
"whereC.id="+TbId+"andC.xtype=T.xusertypeandC.cdefault*=SC.id"+
"orderbyC.colid"
);
%>
<inputtype=hiddenname=DbNamevalue=<%=DbName%>>
<inputtype=hiddenname=CurrentDbvalue=<%=DbName%>>
<inputtype=hiddenname=TbIdvalue=<%=TbId%>>
<tableborder=1bordercolor=#5f5f5fbgcolor=#cfcfcfcellpadding=3cellspacing=0>
<trbgcolor=<%=trColor%>><th>Nn</th><th>Name</th><th>Type</th><th>length</th>
<th>precision</th><th>scale</th><th>defaultvalue</th><th>properties</th><th>relation</th></tr>
<%
for(TrColor=,i=1;!Rs.EOF;i++,Rs.MoveNext()){
if(trColor==trColor1)trColor=trColor2;
elsetrColor=trColor1;
%>
<trbgcolor=<%=trColor%>>
<tdbgcolor=<%=trColor2%>align=right><b><%=i%></b></td><td>
<%=Rs(0)%></td>
<tdalign=right><%=Rs(1)%></td>
<tdalign=right><%=Rs(2)%></td>
<%
if(Rs(1)==numeric||Rs(1)==decimal){
prec=Rs(3);
scale=Rs(4);
}elseprec=scale=;
colstat="";
if(Rs(7)==1)colstat+=",Identity";
if(Rs(5)==1)colstat+=",PrimaryKey";
if(Rs(6)==1)colstat+=",Nullable";
if(colstat=="")
colstat="";
else
colstat=colstat.substring(2);
cdefault=Rs(8);
if(!isDef(cdefault))cdefault="";
else{
cdefault=""+cdefault;
cdefault=cdefault.substring(1,cdefault.length-1);
}
foreign=Rs(9);
if(!isDef(foreign))foreign="";
%>
<tdalign=right><%=prec%></td><td><%=scale%></td>
<td><%=cdefault%></td><td><%=colstat%></td><td><%=foreign%></td>
</tr>
<%
}
%>
</table>
<%
}
if(isDef(Tbl)){
Response.Write("<fontcolor=white><b>"+Tbl+"</b></font></a><br>
");
Rs=Conn.Execute("selectcount(*)from"+Tbl);
RecordCount=Rs(0);
Response.Write("<fontcolor=white>"+RecordCount+"Recordstotal</font><br>");
Rs=Conn.Execute("select*from"+Tbl);
if(!isDef(Row))
Row=0;
if(!Rs.EOF)
Rs.Move(Row);
%>
<tablebgcolor=#9fbfcfborder=1cellpadding=1cellspacing=0><trbgcolor=#cfcfcf><th>N/n</th>
<%
varColCount=Rs.Fields.Count;
for(i1=0;i1<ColCount;i1++)
Response.Write("<th>"+Rs.Fields(i1).Name+"</th>");
Response.Write("</tr>
");
Prev=Row-PgSize;
if(Prev<0&&Row>0)Prev=0;
for(i=Row+1,Cntr=0;
Cntr<PgSize&&!Rs.EOF;
Rs.MoveNext(),i++,Cntr++
){
if(trColor==trColor1)trColor=trColor2;
elsetrColor=trColor1;
%>
<trbgcolor=<%=trColor%>>
<tdbgcolor=<%=trColor2%>align=right><b><%=i%></b></td>
<%
for(i1=0;i1<ColCount;i1++)
Response.Write("<td>"+Rs.Fields(i1).Value+"</td>");
Response.Write("</tr>
");
}
if(Cntr>0){
Response.Write("<trbgcolor=#cfcfcf><th>N/n</th>");
for(i1=0;i1<ColCount;i1++)
Response.Write("<th>"+Rs.Fields(i1).Name+"</th>");
Response.Write("</tr>
");
}
Response.Write("</table>
<tablewidth=50%border=0>");
if(Prev>=0){
QS=newString(Request.QueryString);
Prev=QS.substring(0,QS.lastIndexOf("=")+1)+Prev;
Response.Write("<td><ahref=TbStru.asp?"+Prev+"><fontcolor=white><b><<Previous</a></b></font></td>
");
}
if(!Rs.EOF){
QS=newString(Request.QueryString);
if(QS.lastIndexOf("&Row=")+1)
Next=QS.substring(0,QS.lastIndexOf("=")+1)+(i-1);
else
Next=QS+"&Row="+(i-1);
Response.Write("<tdalign=right><ahref=TbStru.asp?"+Next+"><fontcolor=white><b>Next>></b></font></a></td>
");
}
Response.Write("</table>");
}
%>

因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。还无法完全实现一些企业级的功能:完全的集群、负载均横。
飘飘悠悠 该用户已被删除
沙发
 楼主| 发表于 2015-1-18 16:09:00 | 只看该作者
你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。
小妖女 该用户已被删除
板凳
发表于 2015-1-22 09:23:01 | 只看该作者
交流是必要的,不管是生活还是学习我们都要试着去交流,通过交流我们可以学到很多我们自己本身所没有的知识,可以分享别人的经验甚至经历。
金色的骷髅 该用户已被删除
地板
发表于 2015-1-31 05:20:53 | 只看该作者
从事这个行业,那么你可以学ASP语言,简单快速上手,熟练dreamweav排版,写asp代码,熟练photoshop处理图片,打好基础就行了
莫相离 该用户已被删除
5#
发表于 2015-2-6 17:39:07 | 只看该作者
跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组
小魔女 该用户已被删除
6#
发表于 2015-2-17 18:56:58 | 只看该作者
代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。
再现理想 该用户已被删除
7#
发表于 2015-3-12 16:27:37 | 只看该作者
如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。
冷月葬花魂 该用户已被删除
8#
发表于 2015-3-19 23:53:27 | 只看该作者
ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 11:41

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表