// бʾûղؼ
//
//////////////////////////////////////////////////////////////////////

PARAMETERS pstrUserName TEXT(20);

SELECT
    [Topic].*, [X].[FavoriteLevel]

FROM
    ( SELECT * FROM [Favorite] WHERE [UserName]=pstrUserName ) AS [X]
    LEFT JOIN Topic ON [X].[TopicID]=[Topic].[TopicID]

ORDER BY
    [X].[FavoriteLevel] DESC;

// бʾ԰Ϣ
//
//////////////////////////////////////////////////////////////////////

SELECT TOP 400 * FROM [LeaveWord] ORDER BY [LeaveWordID] DESC

// бʾûʼ
//
//////////////////////////////////////////////////////////////////////

SELECT
    [X].[IsRead], [Y].[Mail_ContentID], [Y].[FromUser], [Y].[Title], [Y].[EditTime], [Y].[ToUsers]

FROM
    ( SELECT * FROM [Mail_List] WHERE [ToUser]=@ToUser ) AS [X]
    LEFT JOIN [Mail_Content] AS [Y] ON [X].[Mail_ContentID]=[Y].[Mail_ContentID]

ORDER BY
    [Y].[Mail_ContentID] DESC

// 
//////////////////////////////////////////////////////////////////////

PARAMETERS pnBoardID INT, pstrTitle TEXT(40), pstrFromUser TEXT(20), pstrContent TEXT, pbIsVote YESNO,
    pstrFileName TEXT(128), pstrFileURL TEXT(255), pstrFileContentType TEXT(128), pnFileSize INT;

INSERT INTO [Topic]([BoardID], [Title], [FromUser], [Content], [IsVote],
    [FileName], [FileURL], [FileContentType], [FileSize])

VALUES(pnBoardID, pstrTitle, pstrFromUser, pstrContent, pbIsVote, 
    pstrFileName, pstrFileURL, pstrFileContentType, pnFileSize)

// Ϣ
//////////////////////////////////////////////////////////////////////

PARAMETERS pnTopicID INT, pstrTopicTitle TEXT(40), pstrTopicFromUser TEXT(20), pnBoardID INT;

UPDATE [Board]

SET [TopicID]=pnTopicID, [TopicTitle]=pstrTopicTitle, [TopicFromUser]=pstrTopicFromUser,
    [TopicPostTime]=Now() WHERE [BoardID]=pnBoardID

//
//////////////////////////////////////////////////////////////////////

SELECT [ReplyID], [TopicID], [Title], [FromUser], [PostTime], 
    [FileName], [AbsoluteFileName], [ContentType], [SizeLen]

FROM [Reply]

// Load ManageBoard
//////////////////////////////////////////////////////////////////////

PARAMETERS pstrUserName Text ( 20 );
SELECT *
FROM Board
WHERE [BoardID] IN ( SELECT [BoardID] FROM Manager WHERE [UserName]=pstrUserName );


// Put TopicLevel
//////////////////////////////////////////////////////////////////////

PARAMETERS pnTopicID Long, pnTopicLevel Long;
UPDATE Topic SET TopicLevel = pnTopicLevel
WHERE [TopicID]=pnTopicID;

// PutTopicClassic
//////////////////////////////////////////////////////////////////////

PARAMETERS pnTopicID Long, pbClassicFlag Bit;
UPDATE Topic SET IsClassic = pbClassicFlag
WHERE [TopicID]=pnTopicID;

// MoveTopic
//////////////////////////////////////////////////////////////////////

PARAMETERS pnTopicID Long, pnFromBoardID Long, pnToBoardID Long;
UPDATE Topic SET BoardID = pnToBoardID
WHERE [TopicID]=pnTopicID AND [BoardID]=pnFromBoardID;

// VIEW_ListReply
//////////////////////////////////////////////////////////////////////

SELECT [ReplyID], [TopicID], [Title], [FromUser], [PostTime], [FileName], [FileURL], [FileContentType], [FileSize]
FROM Reply;

// VIEW_ListTopic
//////////////////////////////////////////////////////////////////////

SELECT [TopicID], [BoardID], [TopicLevel], [Title], [FromUser], [PostTime], [Clicked], [ReCount], [IsClassic], [UpdateTime], [ReplyID], [ReplyFromUser], [FileName], [FileURL], [FileContentType], [FileSize]
FROM Topic;

// VIEW_ListBoard
//////////////////////////////////////////////////////////////////////

SELECT [ClassName], [ClassSortID], [Board].*
FROM Board LEFT JOIN BoardClass ON [Board].[BoardClassID]=[BoardClass].[BoardClassID];