日期:2010-09-16  浏览次数:20933 次

基本上的CMS都具备在线执行SQL语句的功能,能让熟悉SQL语言的管理更加自由.下面这段代码可以让ASP实现可以在线执行SQL语句功能.
结合你的ASP程序可以达到很好效果,不过如果没有好使用对数据库来说可是一场灾难.
程序代码:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%Option Explicit%>
<%
'// Datebase
Dim ConnStr,conn
 ConnStr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("12.mdb")
Set Conn = Server.CreateObject("Adodb.Connection")
 Conn.Open ConnStr
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>让ASP在线执行SQL语句 Editor www.Aspid.cn For 吟清</title>
</head>
<body>
<%
if request("act")="DoExeCuteSql" then
  call DoExeCuteSql()
    Else
%>
<form action="?act=DoExeCuteSql" method="post" name="form" id="form">
 <textarea name="Content" rows="5" wrap="OFF" id="Content" style="width:100%"></textarea>
 <br />
 <input name="Submit" type="submit" value="执行SQL语句">
 <input name="Rest" type="reset" value="重写">
</form>
<% End If %>
</body>
</html>
<%
'//执行Sql语句操作
Sub DoExeCuteSql()
 Dim Content
 Content=Request("Content")
 Err.Clear
 On Error Resume Next
 Conn.BeginTrans
 Conn.ExeCute(Content)
 If Err.Number<>0 Then
 Conn.Rollback
 Response.Write("<script>alert(""<执行失败>\nSQL语句有误,请检查你的SQL语句.\nFor Aspid.cn"");window.history.back();</script>")
 Else
 Conn.CommitTrans
 Response.Write("<script>alert(""<执行成功>\nSQL语句执行完毕\nFor Aspid.cn"");window.history.back();</script>")
 End If
 Response.End
End Sub
%>

吟清的Blog一开始没有关闭引用通告导致每篇日志下面都有大量引用地址,而且很多都不能删除,这个时候下面这段程序就起作用了!在代码输入框中输入以下代码执行就可以清空引用了.
DELETE FROM blog_Trackback WHERE tb_id > 0