📄 admin_db.asp
字号:
Public Function Open()
'on error resume next
If Request.ServerVariables("REQUEST_METHOD")<>"POST" Then Exit Function
oConn.ConnectionString = sConnString
oConn.Open()
If Err Then
sLastErrDescription = Err.Description
Err.Clear()
Exit Function
End If
bDbActived = true
End Function
Public Property Get Conn
Set Conn = oConn
End Property
Public Property Get GetLastError
GetLastError = sLastErrDescription
End Property
Public Function GetDbObject()
Dim rsObj
ReDim aObjList(-1)
If UBound(aObjList)>0 Then GetDbObject = aObjList : Exit Function
Set rsObj = oConn.openSchema(20)
rsObj.Filter = "TABLE_TYPE='TABLE' OR TABLE_TYPE='VIEW'"
Do While Not rsObj.Eof
ReDim Preserve aObjList(UBound(aObjList)+1)
aObjList(UBound(aObjList)) = Array(rsObj("TABLE_NAME").value,rsObj("TABLE_TYPE").value)
rsObj.MoveNext()
Loop
Set rsObj = Nothing
GetDbObject = aObjList
End Function
Public Function doSql(s)
'on error resume next
sSqlString = Trim(s)
IF StrComp(Left(sSqlString,6),"SELECT")=0 Then
'Set doSql = doSelect(sSqlString,20,1)
Set doSql = Nothing
Exit Function
Else
oConn.Execute( s )
Set doSql = Nothing
If Err Then
sLastErrDescription = Err.Description
Err.Clear()
Exit Function
End If
sLastErrDescription = "执行成功!"
End If
End Function
Public Function doSelect(sSqlString,iPgSz,iPgNo)
'on error resume next
iCurrPage = iPgNo
If Not isNumeric(iCurrPage) Then iCurrPage = 1
If CInt(iCurrPage)<1 Then iCurrPage = 1
Set doSelect = Server.CreateObject("ADODB.Recordset")
doSelect.Open sSqlString,oConn,1,3
If Err Then
sLastErrDescription = Err.Description
Err.Clear()
Set doSelect = Nothing
Exit Function
End If
If Not doSelect.Eof Then
iRecCount = doSelect.RecordCount
doSelect.PageSize = iPgSz
iPageSize = iPgSz
iPageCount = doSelect.PageCount
If CInt(iCurrPage)>CInt(iPageCount) Then iCurrPage = iPageCount
doSelect.AbsolutePage = CInt(iCurrPage)
End If
sLastErrDescription = "执行成功!"
End Function
Public Function GetPrimaryKey(sTName)
'on error resume next
Dim rsPrimary
GetPrimaryKey = ""
Set rsPrimary = oConn.OpenSchema(adSchemaPrimaryKeys,Array(Empty,Empty,sTblName))
If Not rsPrimary.Eof Then GetPrimaryKey = rsPrimary("COLUMN_NAME")
Set rsPrimary = Nothing
End Function
Public Function GetColumnInfo(sTName,sCName)
Set GetColumnInfo = oConn.OpenSchema(adSchemaColumns,Array(Empty,Empty,sTName,sCName))
End Function
Public Property Get PageCount
PageCount = iPageCount
End Property
Public Property Get RecCount
RecCount = iRecCount
End Property
Public Property Get PageNo
If CInt(iCurrPage) > CInt(iPageCount) Then iCurrPage = iPageCount
PageNo = iCurrPage
End Property
End Class
'on error resume next
Dim CCDbT, i, sTblType, iPageSize
Dim aObjList, sShowBody, iPageNo
Dim sSqlString, sOper, sTblName
sSqlString = Request("sSqlString")
sOper = Request("sOper")
sTblName = Request("sTblName")
sTblType = Request("sTblType")
iPageNo = Request("PageNo")
Set CCDbT = New CC_DBTools
CCDbT.DataBaseType = Request("sDbType")
CCDbT.ConnType = Request("sConnType")
CCDbT.Dbpath = Request("sDbPath")
CCDbT.DbUID = Request("sUID")
CCDbT.DbPWD = Request("sPWD")
CCDbT.DbCatelog = Request("sDbName")
CCDbT.Open()
iPageSize = 10
%>
<!--
'[ www.cocoon.6to23.com ]
-->
<html>
<head>
<title管理系统数据库在线管理工具</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style type="text/css">
<!--
A:visited{TEXT-DECORATION: none;color:#000000;}
A:active{TEXT-DECORATION: none;color:red;}
A:link{text-decoration: none;color:000;}
A:hover {TEXT-DECORATION: none;color:red}
BODY{COLOR: #000000;background:D4D0C8;
scrollbar-3d-light-color:#000000;
scrollbar-arrow-color:#000000;
scrollbar-base-color:#D4D0C8;
scrollbar-darkshadow-color:#000000;
scrollbar-face-color:#D4D0C8;
scrollbar-highlight-color:#ffffff;
scrollbar-shadow-color:#999999;
scrollbar-track-color:#D4D0C8;
overflow:auto}
FORM {PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px}
td{font-size: 9pt}
TABLE{FONT-SIZE: 9pt;BORDER-COLLAPSE: collapse;background:#d0d4c8}
.1BorderTable {border: 1px solid #000;}
.inputText {width: 100%;}
.bg{background:#d0d4c8}
.inputButton {width: 102px;background:#D4D0C8;color:#000;BORDER-RIGHT:1px solid #666;BORDER-TOP:1px solid #ffffff;border-left:1px solid #ffffff;BORDER-bottom:1px solid #666;font-size:9pt}
.tdTitle {color: #000;background-color: #d0d4c8;}
.inputText0Border {width: 100%;border: none;}
textarea{border: 1px solid #666666;color:000}
.button{background:#D4D0C8;color:#000;BORDER-RIGHT:1px solid #666;BORDER-TOP:1px solid #ffffff;border-left:1px solid #ffffff;BORDER-bottom:1px solid #666;font-size:9pt}
.3d{BORDER-RIGHT:1px solid #000;BORDER-TOP:1px solid #ffffff;border-left:1px solid #ffffff;BORDER-bottom:1px solid #000;}
.jinzhe{border:1px solid #666666;height:20}
-->
</style>
<script language="JavaScript">
var sNewFieldString = '<s'+'cript language="JavaScript">'
+ '\n' + getObjByID.toString()
+ '\n' + showFieldType.toString()
+ '\n' + checkFieldType.toString()
+ '\n' + checkInput.toString()
+ '\n' +'function doNewField(o){'
+ '\n' +' var sSqlString = "";'
+ '\n' +' if(o.fieldName.value.length==0){alert("请输入字段名");o.fieldName.focus();return false;}'
+ '\n' +' if(!checkInput(o.fieldName.value)){alert("名称中包含非法字符,请重新输入");return false;}'
+ '\n' +' sSqlString = "ALTER TABLE ["+o.sTblName.value+"] \\n"'
+ '\n' +' + " ADD COLUMN ["+o.fieldName.value+"] "+o.fieldType[o.fieldType.selectedIndex].value'
+ '\n' +' + (o.fieldSize.value?"("+o.fieldSize.value+")":"") + " "'
+ '\n' +' + (o.isNULL.checked?"NULL":"NOT NULL") + " \\n"'
+ '\n' +' + (o.fieldPK.checked?"PRIMARY KEY":"") + " "'
+ '\n' +' + (parseInt(o.fieldSeed.value)&&parseInt(o.fieldIncre.value)?"IDENTITY ("+o.fieldSeed.value+","+o.fieldIncre.value+")":"") + " \\n"'
+ '\n' +' + (o.fieldDefault.value?"DEFAULT "+o.fieldDefault.value+" WITH VALUES":"");'
+ '\n' +' var oFormSQL = window.opener.getObjByID("formSQL");'
+ '\n' +' oFormSQL.sSqlString.value = sSqlString;'
+ '\n' +' oFormSQL.sOper.value = "Design";'
+ '\n' +' if(!confirm("确认要添加新列吗?")) return false;'
+ '\n' +' oFormSQL.submit();'
+ '\n' +'}'
+ '\n' +'</scrip'+'t>'
+ '\n' +'<table width="500" border="1" cellspacing="0" cellpadding="0">'
+ '\n' +' <form name="formAddFld" id="formAddFld" method="post" onSubmit="doNewField(this);return false;">'
+ '\n' +' <tr> '
+ '\n' +' <td colspan="2">为表 [table name] 添加新字段</td>'
+ '\n' +' </tr>'
+ '\n' +' <tr> '
+ '\n' +' <td width="30%">字段名</td>'
+ '\n' +' <td><input name="fieldName" type="text" id="fieldName" size="30"></td>'
+ '\n' +' </tr>'
+ '\n' +' <tr> '
+ '\n' +' <td>类型</td>'
+ '\n' +' <td>'
+ '\n' +'<select id="fieldType" name="fieldType" onChange="checkFieldType(this.value,this[this.selectedIndex].sLength)" onBlur="showFieldType(0)" onFocus="window.currElement=this;" style="width:130">'
+ '\n' +'<OPTION value=TinyInt sLength=1>TinyInt'
+ '\n' +'<OPTION value=SmallInt sLength=1>SmallInt'
+ '\n' +'<OPTION value=Int sLength=1>Int'
+ '\n' +'<OPTION value=BigInt sLength=1>BigInt'
+ '\n' +'<OPTION value=Real sLength=1>Real / Single'
+ '\n' +'<OPTION value=Float sLength=1>Float / Double'
+ '\n' +'<OPTION value=Money sLength=1>Money'
+ '\n' +'<OPTION value=Decimal sLength=1>Decimal'
+ '\n' +'<OPTION value=Numeric sLength=1>Numeric'
+ '\n' +'<OPTION value=Bit sLength=1>Bit'
+ '\n' +'<OPTION value=Variant>Variant'
+ '\n' +'<OPTION value=UniqueIdentifier sLength=1>UniqueIdentifier'
+ '\n' +'<OPTION value=DateTime sLength=1>DateTime'
+ '\n' +'<OPTION value=Char selected>Char'
+ '\n' +'<OPTION value=VarChar>VarChar'
+ '\n' +'<OPTION value=Text sLength=1>Text'
+ '\n' +'<OPTION value=nChar>nChar'
+ '\n' +'<OPTION value=nVarChar>nVarChar'
+ '\n' +'<OPTION value=nText sLength=1>nText'
+ '\n' +'<OPTION value=TimeStamp sLength=1>TimeStamp'
+ '\n' +'<OPTION value=VarBinary sLength=1>VarBinary'
+ '\n' +'<OPTION value=Image sLength=1>Image'
+ '\n' +'</select>'
+ '\n' +' </td>'
+ '\n' +' </tr>'
+ '\n' +' <tr> '
+ '\n' +' <td>宽度</td>'
+ '\n' +' <td><input name="fieldSize" type="text" id="fieldSize" value="50" size="30"></td>'
+ '\n' +' </tr>'
+ '\n' +' <tr> '
+ '\n' +' <td>允许空</td>'
+ '\n' +' <td><input name="isNULL" type="checkbox" id="isNULL" value="checkbox" checked></td>'
+ '\n' +' </tr>'
+ '\n' +' <tr> '
+ '\n' +' <td>主键</td>'
+ '\n' +' <td><input name="fieldPK" type="checkbox" id="fieldPK" value="PRIMARY KEY"></td>'
+ '\n' +' </tr>'
+ '\n' +' <tr> '
+ '\n' +' <td>递增</td>'
+ '\n' +' <td>种子数 <input name="fieldSeed" type="text" id="fieldSeed" size="5">'
+ '\n' +' 递增量 '
+ '\n' +' <input name="fieldIncre" type="text" id="fieldIncre" size="5"></td>'
+ '\n' +' </tr>'
+ '\n' +' <tr> '
+ '\n' +' <td>默认值</td>'
+ '\n' +' <td><input name="fieldDefault" type="text" id="fieldName4" size="30"></td>'
+ '\n' +' </tr>'
+ '\n' +' <tr>'
+ '\n' +' <td> </td>'
+ '\n' +' <td align="right">'
+ '\n' +' <input type="hidden" name="sTblName" value="[table name]">'
+ '\n' +' <input type="submit" name="Submit2" value="确定">'
+ '\n' +' <input name="Reset" type="reset" id="Reset" value="关闭" onClick="window.close();"></td>'
+ '\n' +' </tr>'
+ '\n' +' </form>'
+ '\n' +'</table>';
var CCNS_program = "COCOON DB Tools";
var CCNS_version = "Final Release";
function getObjByID(n) {
//This function was re-written form DreamWeaver v4.01 by Sunrise_Chen.
var p,i,x;
var d=document;
if(!(x=d[n])&&d.all) x=d.all[n];
for(i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=getObjByID(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n);
return x;
}
function doClick(o){
var sObjName, sObjType, sSqlString;
var oFormSql = getObjByID("formSQL");
for(var i=0;i<o.form.objName.length;i++){
if(o.form.objName[i].checked){
sObjName = o.form.objName[i].objName;
sObjType = o.form.objName[i].objType;
break;
}
}
switch(o.value){
case "查看":
if(!sObjName){alert("请选择对象"); return false;}
sSqlString = "SELECT * FROM [" + sObjName + "]";
oFormSql.sTblName.value = sObjName;
oFormSql.sTblType.value = sObjType;
oFormSql.sSqlString.value = sSqlString;
oFormSql.sOper.value = "Select";
oFormSql.submit();
break;
case "删除":
if(!sObjName){alert("请选择对象"); return false;}
switch(sObjType){
case "TABLE" :
sSqlString = "DROP TABLE [" + sObjName + "]";
break;
case "VIEW" :
sSqlString = "DROP VIEW [" + sObjName + "]";
break;
}
oFormSql.sSqlString.value = sSqlString;
if(!confirm("你确认要删除 "+sObjName+' 对象吗?')) break;
oFormSql.sTblName.value = "";
oFormSql.sTblType.value = "";
oFormSql.sOper.value = "";
oFormSql.submit();
break;
case "新建表":
var sObjName = prompt("请输入表名:",'');
while(!checkInput(sObjName)){alert('名称中包含非法字符,请重新输入');sObjName = prompt("请输入表名",'');}
if(sObjName){
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -