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

📄 ftpdbupdate.asp

📁 主要实现三大功能:记录统计功能、账号控制功能、文件上载自动校验功能
💻 ASP
字号:
<!-- #include file="inc/ftp.asp" -->
<%
dim UseSQLServer
If LCase(logconn.Properties("DBMS Name")) <> "ms jet" Then
 UseSQLServer = 1
else
 UseSQLServer = 0
end if

Dim TableTop,TableEnd
TableTop="<TABLE border=""0"" width=""100%"" align=""center"" class=tableBorder1 cellspacing=0 cellpadding=0><tr><td class=tablebody1>"
TableEnd="</td></tr></table>"
Head()

call main
sub main()
dim s
s = cstr(request("update"))
if lcase("v1.4") = lcase(s) then
	call up14
	call up15
	
elseif lcase("v1.5x") = lcase(s) then
	call up15
	
else
%>
<center>
<h2>数据库升级</h2>
<a href=?update=v1.4>从V1.4升级到V1.62</a><br><br>
<a href=?update=v1.5x>从V1.5x升级到V1.62</a><br><br>
</center>
<%

bbsftp_footer
response.end
end if
response.write "<font color=red>[RICKDLL]<br>"
	response.write ";UserDB数据库连接字符串[论坛FTP账号库]<br>"
	response.write "UserDB="& logdbconnstr	
response.write "<br>;PlusDB数据库连接字符串[插件数据库]<br>"	
response.write "PlusDB="& logdbconnstr
response.write "</font><br><hr>上面是bbsftp.ini文件中的连接字符串设置。请参考修改。"
bbsftp_footer	
end sub

sub up15()
On Error Resume Next
ModifyColumn "FtpLog_UserStatistic","LoginTimes", "FLOAT "
AddColumn "FtpBBSFTPConfig","EnableDiskTopUpload","bit default -1 not null "
AddColumn "FtpBBSFTPConfig","NoView","bit default 0 not null"
RenameColumn "FtpConfig","ExpierTime","ExpireTime", "datetime null"
if UseSQLServer then
AddColumn "FTPConfig","FTPURL", "nvarchar(50) NULL"
AddColumn "FTPConfig","FTPAnnounce", "TEXT NULL"
sql = "CREATE TABLE [FtpLog_DiskStatistic]([ID] [int] IDENTITY (1, 1) NOT NULL, [FTP] [nvarchar] (50) NOT NULL, [UserName] [nvarchar] (50) NULL, [FDisk] [nvarchar] (255) NOT NULL, [FDown] int NOT NULL DEFAULT 0, [KBDown] FLOAT NOT NULL DEFAULT 0, [DownTime] FLOAT NOT NULL DEFAULT 0, [FUp] int NOT NULL DEFAULT 0, [KBUp] FLOAT NOT NULL DEFAULT 0, [UpTime] FLOAT NOT NULL DEFAULT 0);"
else
AddColumn "FTPConfig","FTPURL", "TEXT(50) NULL"
AddColumn "FTPConfig","FTPAnnounce", "MEMO"
sql = "CREATE TABLE [FtpLog_DiskStatistic]([ID] COUNTER NOT NULL, [FTP] TEXT(50) NOT NULL, [UserName] TEXT(50) NULL, [FDisk] TEXT(255) NOT NULL, [FDown] LONG NOT NULL DEFAULT 0, [KBDown] FLOAT NOT NULL DEFAULT 0, [DownTime] FLOAT NOT NULL DEFAULT 0, [FUp] LONG NOT NULL DEFAULT 0, [KBUp] FLOAT NOT NULL DEFAULT 0, [UpTime] FLOAT NOT NULL DEFAULT 0);"
end if
logconn.execute "update FTPConfig set FTPURL=FTP"
logconn.execute sql

sql = "Alter Table FtpUserDown ADD DisableUser bit default 0"
bbsconn.execute sql
sql = "Alter Table FtpUserDown ADD ExpireTime datetime null"
bbsconn.execute sql

end sub

sub up14()
On Error Resume Next
if UseSQLServer then
sql = "CREATE TABLE [Ftplog_FtpStatistic]([ID] [int] IDENTITY (1, 1) NOT NULL, [FTP] [nvarchar] (50) NOT NULL, [ConnectionTimes] [FLOAT] NULL, [DownLoadFileCount] [FLOAT] NULL, [DownLoadFileSize] [FLOAT] NULL, [EndTime] [DATETIME] NULL, [LoginTimes] [FLOAT] NULL, [StartTime] [DATETIME] NULL, [UpLoadFileCount] [FLOAT] NULL, [UpLoadFileSize] [FLOAT] NULL, [UpTime] [FLOAT] NULL, [DownTime] [FLOAT] NULL, [SelleGB] [bigint] NULL, [WebClick] [bigint] NULL,[Seller] [nvarchar] (250) NULL, [State] [nvarchar] (250) NULL, [Flag] [int] NULL);"
else
sql = "CREATE TABLE [Ftplog_FtpStatistic]([ID] COUNTER NOT NULL, [FTP] TEXT(50) NOT NULL, [ConnectionTimes] FLOAT, [DownLoadFileCount] FLOAT, [DownLoadFileSize] FLOAT, [EndTime] DATETIME, [LoginTimes] FLOAT, [StartTime] DATETIME, [UpLoadFileCount] FLOAT, [UpLoadFileSize] FLOAT, [UpTime] FLOAT, [DownTime] FLOAT, [SelleGB] LONG, [WebClick] LONG,[Seller] TEXT(250), [State] TEXT(250), [Flag] LONG);"
end if
logconn.execute sql
if err then
	Response.Write err.description & "<br>"
	err.clear
else
       	Response.Write "<br>数据表 FtpLog_FtpStatistic 创建成功!<br>"
end if
Response.Flush
'******************FtpBBSFtpConfig
if UseSQLServer then
sql = "CREATE TABLE [FtpBBSFTPConfig]([ID] [int] IDENTITY (1, 1) NOT NULL, [CheckMD5] BIT NOT NULL, [CheckSFV] BIT NOT NULL, [CheckZIP] BIT NOT NULL, [DisableUserControl] BIT NOT NULL, [EnableCheck] BIT NOT NULL, [EnableLog] BIT NOT NULL, [EXT] [nvarchar] (255), [LogFileDown] BIT NOT NULL, [LogFileDownMinSize] int not null, [LogFileUp] BIT NOT NULL, [LogFileUpMinSize] int not null, [LogIPLogin] int not null, [LogUserLogin] int not null, [MarkUpload] BIT NOT NULL, [NoView] BIT NULL, [PasswordType] int not null, [ShowDirNFO] BIT NOT NULL, [SiteName] [nvarchar] (255), [TopUpload] int DEFAULT 5 not null, [UpdateInterval] int DEFAULT 5 not null);"
else
sql = "CREATE TABLE [FtpBBSFTPConfig]([ID] COUNTER NOT NULL, [CheckMD5] BIT NOT NULL, [CheckSFV] BIT NOT NULL, [CheckZIP] BIT NOT NULL, [DisableUserControl] BIT NOT NULL, [EnableCheck] BIT NOT NULL, [EnableLog] BIT NOT NULL, [EXT] TEXT(255), [LogFileDown] BIT NOT NULL, [LogFileDownMinSize] LONG DEFAULT 0, [LogFileUp] BIT NOT NULL, [LogFileUpMinSize] LONG DEFAULT 0, [LogIPLogin] LONG DEFAULT 0, [LogUserLogin] LONG DEFAULT 0, [MarkUpload] BIT NOT NULL, [NoView] BIT NULL, [PasswordType] LONG DEFAULT 0, [ShowDirNFO] BIT NOT NULL, [SiteName] TEXT(255), [TopUpload] LONG DEFAULT 5, [UpdateInterval] LONG DEFAULT 5);"
end if
logconn.execute sql
if err then
	Response.Write err.description & "<br>"
	err.clear
else
       	Response.Write "<br>数据表 FtpBBSFtpConfig 创建成功!<br>"
end if
Response.Flush
'******************FtpUserOnline
if UseSQLServer then
sql = "CREATE TABLE [FTPUserOnline]([FTP] [nvarchar] (50) NOT NULL, [FTPUserFlag] [nvarchar] (100) NOT NULL, [IP] [nvarchar] (50) NOT NULL, [LoginTime] DATETIME NOT NULL, [SessionID] int NOT NULL, [UserName] [nvarchar] (50) NOT NULL);"
else
sql = "CREATE TABLE [FTPUserOnline]([FTP] TEXT(50) NOT NULL, [FTPUserFlag] TEXT(100) NOT NULL, [IP] TEXT(50) NOT NULL, [LoginTime] DATETIME NOT NULL, [SessionID] LONG NOT NULL DEFAULT 0, [UserName] TEXT(50) NOT NULL);"
end if
logconn.execute sql
if err then
	Response.Write err.description & "<br>"
	err.clear
else
    Response.Write "<br>数据表 FtpUserOnline 创建成功!<br>"
end if
Response.Flush

AddColumn "FtpLog_DownloadFiles","UsedTime","float null"
AddColumn "FtpLog_UploadFiles","UsedTime","float null"
AddColumn "FtpLog_UploadAbort","UsedTime","float null"
AddColumn "FtpLog_UploadTemp","UsedTime","float null"

AddColumn "FtpLog_UserStatistic","UpTime","float null"
AddColumn "FtpLog_UserStatistic","DownTime","float null"
AddColumn "FtpLog_Statistic","UpTime","float null"
AddColumn "FtpLog_Statistic","DownTime","float null"

RenameColumn "FTPDirAccess","Order","OrderID","int null"
RenameColumn "FTPIPAccess","Order","OrderID","int null"
response.flush
end sub
'删除字段通用函数
Sub DelColumn(TableName,ColumnName)
	On Error Resume Next
	logConn.Execute("Alter Table "&TableName&" Drop ["&ColumnName&"]")
	If Err Then
		Response.Write TableTop & "删除 "&TableName&" 表中字段<font color=blue>错误</font>,请手动将数据库中 <B>"&ColumnName&"</B> 字段删除,原因" & Err.Description & "<BR>" & TableEnd
		Err.Clear
		Response.Flush
	Else
		Response.Write TableTop & "删除 "&TableName&" 表中字段 "&ColumnName&" 成功 <BR>" & TableEnd
		Response.Flush
	End If
End Sub

'添加字段通用函数
Sub AddColumn(TableName,ColumnName,ColumnType)
	On Error Resume Next
	logConn.Execute("Alter Table "&TableName&" Add "&ColumnName&" "&ColumnType&"")
	If Err Then
		Response.Write TableTop & "新建 "&TableName&" 表中字段<font color=blue>错误</font>,请手动将数据库中 <B>"&ColumnName&"</B> 字段建立,属性为 <B>"&ColumnType&"</B>,原因" & Err.Description & "<BR>" & TableEnd
		Err.Clear
		Response.Flush
	Else
		Response.Write TableTop & "新建 "&TableName&" 表中字段 "&ColumnName&" 成功 <BR>" & TableEnd
		Response.Flush
	End If
End Sub

'修改字段通用函数
Sub ModifyColumn(TableName,ColumnName,ColumnType)
	On Error Resume Next
	logConn.Execute("Alter Table "&TableName&" ALTER COLUMN  "&ColumnName&" "&ColumnType&"")
	If Err Then
		Response.Write TableTop & "修改 "&TableName&" 表中字段<font color=blue>错误</font>,请手动将数据库中 <B>"&ColumnName&"</B> 字段修改属性为 <B>"&ColumnType&"</B>,原因" & Err.Description & "<BR>" & TableEnd
		Err.Clear
		Response.Flush
	Else
		Response.Write TableTop & "修改 "&TableName&" 表中字段 "&ColumnName&" 成功 <BR>" & TableEnd
		Response.Flush
	End If
End Sub

sub RenameColumn(TableName,ColumnName,ColumnNewName,ColumnType)	
	'change the name of the column
	on error resume next
	dim xCat
	set xCat = Server.CreateObject("ADOX.Catalog")
	if err then err.clear
	If IsEmpty(xCat) or xCat Is Nothing Then
		call AddColumn(TableName,ColumnNewName,ColumnType)
		logconn.execute("update "&TableName& " set [" &ColumnNewName& "]=" & "["&ColumnName&"]"  )	
		call DelColumn(TableName,ColumnName)		
	Else
		set xCat.ActiveConnection = Parent_.Parent.JetConnection
		xCat.Tables(TableName).Columns(ColumnName).Name = CStr(ColumnNewName)
		set xCat = Nothing
		
	End If
			
	If Err Then
		Response.Write TableTop & "重命名 "&TableName&" 表中字段<font color=blue>错误</font>,请手动将数据库中 <B>"&ColumnName&"</B> 字段 重命名为 <B>"&ColumnNewName&"</B>,原因" & Err.Description & "<BR>" & TableEnd
		Err.Clear
		Response.Flush
	Else
		Response.Write TableTop & "重命名 "&TableName&" 表中字段 "&ColumnName&" 为 "&ColumnNewName&" 成功 <BR>" & TableEnd
		Response.Flush
	End If
End Sub
%>

⌨️ 快捷键说明

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