技術教程網 -- 實用技術參考 (轉)

worldblog發表於2007-12-10
-- 實用技術參考 (轉)[@more@]

用自動生成的源

作者:一鶴(hjz)_賀建中中文網_

chinaasp論壇完整程式:


因為我裝的是MSDE,沒有發現查詢分析器,也沒辦法執行sql,我到處支找SQL的光碟也找不到,苦
惱了好一陳子。只能在匯出匯入裡新建一個資料庫(呵呵,發現在ms.net里居然可以編輯檢視sql資料
庫,雖然也不能執行sql,不過給了我不少方便),就此寫了一個ASP檔案。全自動的生成chinaasp的sql
資料庫。

去chinaasp不覺得什麼,現在真正解開他的內容一看,真的令人歎服,委實是精品中的精品。難怪這麼
多人效仿而樂此不疲。

如果你有查詢分析器,這個用一下反正也很方便,如果你沒有查詢分析器,那是更好了,其中連線SQL的
可能是被人改了,不能用,我都改好了。

以後如果寫其他的SOL資料庫,只要開啟conn.asp與setup.asp。依樣畫葫蘆就是了,總之自已手寫出來的
東西,用得特舒服。

宣告:好象chinaasp不提供免費使用的授權,我也不太清楚,這個純粹是個人研究,不可以真的拿去用了
或改了。

CONN.ASP檔案:
<%
  dim conn 
  dim connstr
  connstr="={};server=localhost;UID=sa;PWD=;database=bbsbbs"
  set conn=server.create("ADO.CONNECTION")
  if err.number<>0 then
  err.clear
  set conn=nothing
  Response.Write "建立ADO失敗"
  Response.End
  else
  conn.open connstr
  if err then
  err.clear
  set conn=nothing
  Response.Write "SQL資料庫連線失敗,請檢查資料庫是否存在,以及odbc是否存在" 
  Response.End
  end if
  end if 
 
  sub endConnection()
  conn.close
  end sub 
%>

setup.asp檔案:
<!--#include file="conn.asp"-->
<html>
<STYLE TYPE="text/css">
<!--
body{
  BACKGROUND: white;
  FONT-FAMILY: 宋體;
  FONT-SIZE: 75%
}
-->
</STYLE>
<title>chinaasp安裝</title><body>
<%

If Request.QueryString("setup") = "yes" Then

on error resume next

Set adoRS = Server.CreateObject("ADODB.Recordset")

strSQL = "CREATE TABLE Announce ( "
strSQL =strSQL +"AnnounceID int NTITY (1, 1) NOT NULL ,"
strSQL =strSQL +"ParentID int NULL , "
 strSQL =strSQL +"Child int NULL , "
 strSQL =strSQL +"BoardID int NULL , "
 strSQL =strSQL +"UserName nvarchar (50) NULL , "
 strSQL =strSQL +"UserE nvarchar (255) NULL , "
 strSQL =strSQL +"URL nvarchar (255) NULL , "
 strSQL =strSQL +"URLTitle nvarchar (255) NULL , "
 strSQL =strSQL +"URLPic nvarchar (255) NULL , "
 strSQL =strSQL +"Topic nvarchar (255) NULL , "
 strSQL =strSQL +"Body ntext NULL , "
 strSQL =strSQL +"DateAndTime datetime NULL , "
 strSQL =strSQL +"hits int NULL , "
 strSQL =strSQL +"length int NULL , "
 strSQL =strSQL +"ID int NULL , "
 strSQL =strSQL +"layer int NULL , "
 strSQL =strSQL +"orders int NULL , "
 strSQL =strSQL +"emote int NULL , "
 strSQL =strSQL +"nvarchar (20) NULL , "
 strSQL =strSQL +"signature nvarchar (255) NULL , "
 strSQL =strSQL +"replyMail bit NOT NULL  "
strSQL =strSQL +") "
Set adoRS = Conn.Execute(strSQL)

strSQL ="CREATE TABLE board ("
 strSQL =strSQL +"BoardID int IDENTITY (1, 1) NOT NULL , "
 strSQL =strSQL +"BoardName nvarchar (100) NULL ,"
 strSQL =strSQL +"BoardMaster int NULL , "
 strSQL =strSQL +"BoardMaster2 int NULL , "
 strSQL =strSQL +"BoardMaster3 int NULL , "
 strSQL =strSQL +"cateID int NULL , "
 strSQL =strSQL +"description nvarchar (500) NULL  "
strSQL =strSQL +")  "
Set adoRS = Conn.Execute(strSQL)

strSQL ="CREATE TABLE boardCate ("
 strSQL =strSQL +"id int IDENTITY (1, 1) NOT NULL , "
 strSQL =strSQL +"CateName nvarchar (50) NOT NULL , "
 strSQL =strSQL +"Description nvarchar (244) NULL , "
 strSQL =strSQL +"Orders int NULL " 
strSQL =strSQL +") "
Set adoRS = Conn.Execute(strSQL)

strSQL ="CREATE TABLE essence ("
 strSQL =strSQL +"id int IDENTITY (1, 1) NOT NULL , "
 strSQL =strSQL +"announceid int NULL , "
 strSQL =strSQL +"boardid int NULL , "
 strSQL =strSQL +"username nvarchar (50) NULL , "
 strSQL =strSQL +"user nvarchar (255) NULL , "
 strSQL =strSQL +"url nvarchar (255) NULL , "
 strSQL =strSQL +"urlTitle nvarchar (255) NULL , "
 strSQL =strSQL +"urlPic nvarchar (255) NULL , "
 strSQL =strSQL +"Topic nvarchar (255) NULL , "
 strSQL =strSQL +"Body ntext NULL , "
 strSQL =strSQL +"dateAndTime nvarchar (50) NULL , "
 strSQL =strSQL +"hits int NULL , "
 strSQL =strSQL +"length int NULL , "
 strSQL =strSQL +"emote int NULL , "
 strSQL =strSQL +"keys nvarchar (255) NULL  "
strSQL =strSQL +")  "
Set adoRS = Conn.Execute(strSQL)

strSQL ="CREATE TABLE site ( "
 strSQL =strSQL +"SiteMasterPwd nvarchar (50) NULL  "
strSQL =strSQL +")  "
Set adoRS = Conn.Execute(strSQL)

strSQL ="CREATE TABLE [user] ( "
 strSQL =strSQL +"UserID int IDENTITY (1, 1) NOT NULL , "
 strSQL =strSQL +"UserName nvarchar (50) NULL , "
 strSQL =strSQL +"UserEmail nvarchar (255) NULL , "
 strSQL =strSQL +"UserPassword nvarchar (11) NULL , "
 strSQL =strSQL +"icq nvarchar (20) NULL , "
 strSQL =strSQL +"homepage nvarchar (255) NULL , "
 strSQL =strSQL +"sex nvarchar (10) NULL , "
 strSQL =strSQL +"passanswer nvarchar (100) NULL , "
 strSQL =strSQL +"incometime smalldatetime NULL , "
 strSQL =strSQL +"birthday smalldatetime NULL , "
 strSQL =strSQL +"points int NULL , "
 strSQL =strSQL +"visits int NULL , "
 strSQL =strSQL +"country nvarchar (20) NULL , "
 strSQL =strSQL +"city nvarchar (20) NULL , "
 strSQL =strSQL +"passquest nvarchar (100) NULL , "
 strSQL =strSQL +"signature nvarchar (255) NULL , "
 strSQL =strSQL +"disabled int NULL  "
strSQL =strSQL +") "
Set adoRS = Conn.Execute(strSQL)

strSQL ="ALTER TABLE [boardCate] WITH NOCHECK ADD CONSTRAINT [PK_boardCate] PRIMARY KEY  CLUSTERED ([id])"
Set adoRS = Conn.Execute(strSQL)

strSQL ="ALTER TABLE [Announce] WITH NOCHECK ADD CONSTRAINT [DF__announce__replyM__3F466844] DEFAULT (0) FOR [replyMail],"
strSQL =strSQL +"CONSTRAINT [PK_Announce] PRIMARY KEY  NONCLUSTERED ([AnnounceID])"
Set adoRS = Conn.Execute(strSQL)

strSQL ="ALTER TABLE [board] WITH NOCHECK ADD CONSTRAINT [PK_board] PRIMARY KEY  NONCLUSTERED ([BoardID])" 
Set adoRS = Conn.Execute(strSQL)

strSQL ="ALTER TABLE [essence] WITH NOCHECK ADD CONSTRAINT [PK_essence] PRIMARY KEY  NONCLUSTERED ([id])" 
Set adoRS = Conn.Execute(strSQL)

strSQL ="ALTER TABLE [user] WITH NOCHECK ADD CONSTRAINT [DF_user_disabled] DEFAULT (0) FOR [disabled],"
strSQL =strSQL +"CONSTRAINT [PK_user] PRIMARY KEY  NONCLUSTERED ([UserID])"
Set adoRS = Conn.Execute(strSQL)

strSQL ="CREATE  INDEX [Boardid] ON [Announce]([BoardID])"
Set adoRS = Conn.Execute(strSQL)

strSQL ="CREATE  INDEX [announce0] ON [Announce]([BoardID], [AnnounceID], [ParentID])"
Set adoRS = Conn.Execute(strSQL)

strSQL ="CREATE  INDEX [IX_Announce] ON [Announce]([orders])"
Set adoRS = Conn.Execute(strSQL)

strSQL ="CREATE  INDEX [announce00] ON [Announce]([RootID], [BoardID], [orders])"
Set adoRS = Conn.Execute(strSQL)

strSQL ="CREATE  INDEX [IX_boardCate] ON [boardCate]([Orders])"
Set adoRS = Conn.Execute(strSQL)

strSQL ="CREATE  INDEX [Boardid] ON [essence]([boardid])"
Set adoRS = Conn.Execute(strSQL)

strSQL ="CREATE  INDEX [points] ON [user]([points])"
Set adoRS = Conn.Execute(strSQL)

strSQL ="CREATE  INDEX [username] ON [dbo].[user]([UserName])"
Set adoRS = Conn.Execute(strSQL)

strSQL ="CREATE  INDEX [IX_user] ON [dbo].[user]([UserName])"
Set adoRS = Conn.Execute(strSQL)

strSQL ="insert site(sitemasterpwd) values('12345')"
Set adoRS = Conn.Execute(strSQL)

strSQL ="alter table announce add lock bit NOT NULL DEFAULT (0)"
Set adoRS = Conn.Execute(strSQL)

%>

<p> </p>
<p>操作成功,請勿在相同的資料庫重複安裝, <a href="DEFAULT.ASP" target="_blank" >請登入論壇</a><br>
  <br>
  <br>
  <a href="admin" target="_blank">管理密碼已為您設定為12345,請登入管理頁面</a> </p>
<%
Else
Response.Write("<a href=setup.asp?setup=yes>單擊此處開始安裝</a><br><br><br><a href="""">一鶴的chinaasp論壇資料庫安裝程式</a> ")
End If
%>
<hr>
<p align="center"><br>
  <a href="" target="_blank" >一鶴的chinaasp論壇資料庫安裝程式</a> ||
  <a href="">CNET中文網</a> || <a href=""></a></p>
</body></html>

 


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-990737/,如需轉載,請註明出處,否則將追究法律責任。

相關文章