版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、課程設(shè)計報告( 2015- 2016年度第1學(xué)期)實驗名稱: 數(shù)據(jù)庫應(yīng)用課程設(shè)計 題 目: 在線投稿審稿管理系統(tǒng) 院 系: 控制與計算機(jī)工程學(xué)院 班 級: 計算1302 學(xué) 號: 1131220207 學(xué)生姓名: 蘭鑫玥 指導(dǎo)教師: 周長玉 設(shè)計周數(shù): 1 周 成 績: 日期:2016年1月17日 課程設(shè)計報告一、 課程設(shè)計的目的與要求目的1. 學(xué)習(xí)和實踐在分析和設(shè)計計算機(jī)應(yīng)用系統(tǒng)所需要的知識,包括面向?qū)ο蟮南到y(tǒng)分析與設(shè)計,對數(shù)據(jù)庫做進(jìn)一步的了解,掌握相關(guān)知識;2. 進(jìn)一步加強(qiáng)對數(shù)據(jù)庫運用能力和熟練掌握數(shù)據(jù)庫中的重要知識,了解如何從數(shù)據(jù)庫中讀寫有關(guān)數(shù)據(jù);3. 培養(yǎng)分析問題、解決問題的能力。要求
2、1. 完成數(shù)據(jù)庫系統(tǒng)的安裝與設(shè)置。2. 根據(jù)具體的課題完成需求分析。3. 完成數(shù)據(jù)庫應(yīng)用系統(tǒng)的邏輯設(shè)計。4. 創(chuàng)建數(shù)據(jù)庫、數(shù)據(jù)表。5. 完成設(shè)計報告。二、設(shè)計正文1.需求分析1.1 調(diào)查用戶需求在線投稿審稿管理系統(tǒng)最終用戶為投稿人、審稿人和雜志社管理員,有效地解決了傳統(tǒng)模式下投遞和送審的各種弊端,實現(xiàn)了作者的投稿、信息查詢、信息反饋的便捷處理和編輯部規(guī)范高效化辦公,從而節(jié)省了稿件處理的時間和流通費用,提高了稿件投遞和投審的效率和安全性,同時也保證了雜志社所有的編輯能夠在相同的業(yè)務(wù)平臺進(jìn)行業(yè)務(wù)處理,適應(yīng)了集中管理的需要。通過規(guī)范流程、強(qiáng)化內(nèi)部管理,建立強(qiáng)大的數(shù)據(jù)庫,為數(shù)據(jù)分析、人員管理等提供強(qiáng)大
3、的支持,為用戶、編輯提供了安全的權(quán)限設(shè)置,使稿件分級處理,避免了處理流程的混亂,減低工作量、減少重復(fù)勞動,得出用戶的下列實際要求:1.1.1基本功能需求出版社的在線投稿審稿管理系統(tǒng)包含以下幾方面信息:Ø 投稿人的基本信息 每個投稿人都有唯一的編號,有真實姓名,有筆名,有聯(lián)系方式包括:電話號碼、聯(lián)系地址、Email等。Ø 審稿人的基本信息審稿人負(fù)責(zé)審理投稿人的稿件且為管理員管理添加或刪除,每個審稿人都有唯一的編號,有真實姓名,有聯(lián)系電話。Ø 管理員的基本信息管理員負(fù)責(zé)管理審稿人,統(tǒng)計稿件信息,指定審稿人去審理指定的稿件,每個管理員都有唯一的編號,有姓名,有聯(lián)系電話。
4、Ø 稿件的基本信息每篇文章都有唯一的稿件編號,有稿件名,有稿件類型,有稿件內(nèi)容,發(fā)表日期,有審查標(biāo)記來記錄此篇文章是否已被審稿人審查,還要有此篇文章的作者。1.1.2用戶對系統(tǒng)的要求Ø 投稿人a.信息要求投稿人可以對自己的基本信息進(jìn)行查看,可以查看自己的稿件狀態(tài)。b.處理要求投稿人可以添加新的稿件進(jìn)行提交,等待審稿人審理。投稿人可以修改自己的個人信息,但不能修改賬號,賬號一經(jīng)注冊,便不可更改。比如,某位作者可以對他的帳號密碼進(jìn)行更改。c安全性與完整性要求安全性要求n 登錄系統(tǒng)設(shè)置訪問用戶的標(biāo)識以鑒別是否是合法用戶,并要求合法用戶設(shè)置其密碼,保證用戶身份不被盜用;n 系統(tǒng)應(yīng)對
5、不同的數(shù)據(jù)設(shè)置不同的訪問級別,限制訪問用戶可查詢和處理數(shù)據(jù)的類別和內(nèi)容;n 登錄系統(tǒng)對不同用戶設(shè)置不同的權(quán)限,區(qū)分不同的用戶,如區(qū)分投稿人,審稿人,管理員。完整性要求n 各種信息記錄的完整性,如賬號和密碼等信息記錄內(nèi)容不能為空;n 各種數(shù)據(jù)間相互的聯(lián)系的正確性;n 相同的數(shù)據(jù)在不同記錄中的一致性。Ø 審稿人 a.信息要求審稿人可以對自己的基本信息進(jìn)行查看,可以查看自己的審查任務(wù)安排。b.處理要求審稿人可以在線審查管理員給自己安排的要審查的稿件,查看稿件的相關(guān)信息及內(nèi)容,并給出自己對這篇文章的評語。審稿人可以修改自己的個人信息,但不能修改賬號。Ø 管理員 a.信息要求管理員可
6、以對自己的基本信息進(jìn)行查看,可以查看統(tǒng)計出來的各個作者的稿件信息。b.處理要求管理員可以分配稿件審理,指定審稿人去審理指定的稿件。管理員可以確認(rèn)發(fā)表哪篇稿件,以及發(fā)表日期。管理員可以對各個作者的稿件進(jìn)行管理,可以進(jìn)行刪除處理。管理員可以添加和刪除審稿人,可以查看和修改個人信息。1.2 系統(tǒng)功能的設(shè)計和劃分根據(jù)如上得到的用戶需求,我們將本系統(tǒng)按照所完成的功能分成以下幾部分:第一部分:登錄部分第二部分:投稿人管理部分第三部分:審稿人管理部分第四部分:管理員管理部分各部分完成的功能如下:1.2.1登錄部分n 處理投稿人登錄n 處理審稿人登錄n 處理管理員登錄1.2.2投稿人管理部分n 處理投稿人注冊
7、n 投稿人可以查詢修改個人信息n 投稿人可以提交稿件并填寫稿件的相關(guān)信息n 投稿人可以繳納稿費n 投稿人可以查看稿件狀態(tài):未審和已審,已審稿件可以查看評語1.2.3審稿人管理部分n 審稿人可以查詢修改個人信息。n 審稿人可以審理管理員指定分配的稿件,決定是否發(fā)表。n 審稿人可以在線審稿,給出評語。1.2.4管理員管理部分n 管理員可以查詢修改管理員信息。n 管理員可以添加、刪除審稿人。n 管理員分配審稿人審理哪篇稿件。n 管理員可以查詢某一作者的全部稿件信息。n 管理員可以刪除稿件。n 管理員可以確定哪篇稿件可以發(fā)表,以及發(fā)表的時間。圖1.系統(tǒng)功能圖1.3 數(shù)據(jù)流圖圖2.總數(shù)據(jù)流圖1.4 數(shù)據(jù)
8、字典 14.1數(shù)據(jù)項投稿人數(shù)據(jù)字典:投稿人=賬號+密碼+姓名+筆名+電話+地址+E-mail+備注賬號= 1數(shù)字20密碼= 1數(shù)字20姓名= 1漢字20筆名= 1漢字20電話= 11數(shù)字11地址= 1漢字100E-mail=|地址= 1漢字100n 數(shù)據(jù)項:賬號含義說明:唯一標(biāo)識每個投稿人別名:投稿人編號類型:字符型長度:20n 數(shù)據(jù)項:密碼含義說明:每個投稿人的登錄密碼類型:字符型長度:20n 數(shù)據(jù)項:姓名含義說明:每個投稿人的真實姓名類型:字符型長度:20n 數(shù)據(jù)項:電話含義說明:每個投稿人的聯(lián)系電話類型:字符型長度:11n 數(shù)據(jù)項:E-mail含義說明:每個投稿人的電子郵箱類型:字符型長
9、度:30稿件數(shù)據(jù)字典:稿件=編號+作者+標(biāo)題+類型+關(guān)鍵詞+摘要+內(nèi)容+審查標(biāo)記+繳費標(biāo)記編號= 8數(shù)字8作者= 1漢字20標(biāo)題= 1漢字20類型= 1數(shù)字10關(guān)鍵詞= 1漢字50摘要= 1漢字100摘要= 1內(nèi)容8000審查標(biāo)記=0|1繳費標(biāo)記=0|1n 數(shù)據(jù)項:編號含義說明:唯一標(biāo)識每篇稿件別名:稿件編號類型:整型長度:8n 數(shù)據(jù)項:類型含義說明:記錄稿件類型的編號類型:字符型長度:10n 數(shù)據(jù)項:摘要含義說明:每篇稿件的主要內(nèi)容與中心主旨 類型:字符型長度:100n 數(shù)據(jù)項:內(nèi)容含義說明:每篇稿件的正文內(nèi)容 類型:字符型長度:8000n 數(shù)據(jù)項:審查標(biāo)記含義說明:記錄稿件是否審查的標(biāo)記,
10、0為未審查,1為已審查類型:整型長度:1n 數(shù)據(jù)項:繳費標(biāo)記含義說明:記錄稿件是否繳納稿費的標(biāo)記,0為未審查,1為已審查類型:整型長度:11.4.2 數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)名組成投稿人信息賬號,密碼,姓名,筆名,電話,地址,E-mail,備注審稿人信息賬號,密碼,姓名,電話 管理員信息賬號,密碼,姓名,電話 稿件信息編號,作者,標(biāo)題,類型,關(guān)鍵詞,摘要,內(nèi)容,審查標(biāo)記,繳費標(biāo)記稿件類型信息編號,類型名1.4.3 數(shù)據(jù)流數(shù)據(jù)流名數(shù)據(jù)流來源數(shù)據(jù)流去向組成審稿人審查信息審稿人信息稿件信息審查信息管理員管理稿件信息稿件信息稿件信息發(fā)表信息1.4.4數(shù)據(jù)存儲數(shù)據(jù)存儲名輸入的數(shù)據(jù)流輸出的數(shù)據(jù)流組成投稿人信息表投
11、稿人信息投稿人信息投稿人信息審稿人信息表審稿人信息審稿人信息審稿人信息管理員信息表管理員信息管理員信息管理員信息稿件信息表審稿人審查信息稿件信息稿件信息稿件信息1.4.5 處理過程處理過程名輸入數(shù)據(jù)流輸出數(shù)據(jù)流審稿人審查信息表審稿人信息稿件信息審稿人審查信息管理員管理稿件表稿件信息稿件信息2.概念設(shè)計根據(jù)需求分析說明書設(shè)計ER圖,設(shè)計完成的ER圖為:圖3. 總ER圖3.邏輯設(shè)計3.1 關(guān)系表設(shè)計將ER圖轉(zhuǎn)換為關(guān)系模式、要求設(shè)計出數(shù)據(jù)庫所有關(guān)系表 表1. 投稿人信息表(Writer)屬性名存儲代碼類型長度備注完整性約束賬號W_LoginNumvarchar20投稿人登錄賬號主鍵密碼W_Passw
12、ordvarchar20投稿人登錄密碼非空姓名W_RealNamevarchar20作者真實姓名非空筆名W_PenNamevarchar20作者筆名電話W_PhoneNumchar11聯(lián)系電話非空地址W_Addressvarchar100聯(lián)系地址E-mailW_Emailvarchar30電子郵箱CHECK規(guī)則備注W_Remarkvarchar100作者備注信息表2. 稿件信息表(Article)屬性名存儲代碼類型長度備注完整性約束編號A_IDint文章編號主鍵,自增作者A_WriterNumvarchar20投稿人賬號主鍵標(biāo)題A_Titlevarchar20文章標(biāo)題非空類型A_TypeNum
13、varchar10文章類型非空關(guān)鍵詞A_Keywordvarchar50文章關(guān)鍵詞摘要A_Summaryvarchar100文章摘要內(nèi)容A_Contentvarchar8000文章正文內(nèi)容非空審查標(biāo)記A_CheckFlagint是否經(jīng)過審查CHECK(0或1)繳費標(biāo)記A_PayFlagint是否繳納稿費CHECK(0或1) 表3.、稿件類型表(ArticleType)屬性名存儲代碼類型長度備注完整性約束編號AT_IDvarchar10文章類型編號主鍵名稱AT_Namevarchar20文章類型名稱名非空表4.審稿人信息表(Editor)屬性名存儲代碼類型長度備注完整性約束賬號E_LoginNu
14、mvarchar20審稿人登錄賬號主鍵密碼E_Passwordvarchar20審稿人登錄密碼非空姓名E_Namevarchar20審稿人姓名非空電話E_PhoneNumchar11聯(lián)系電話非空 表5.審稿人審查表(CheckArticle)屬性名存儲代碼類型長度備注完整性約束審查編號C_IDint主鍵,自增稿件編號C_ArticleIDint主鍵審稿人C_EditorNumvarchar20審稿人賬號主鍵評語C_CommentVarchar1000審稿人評語審稿時間C_CheckDatedatetime8 表6.管理員信息表(Manager)屬性名存儲代碼類型長度備注完整性約束賬號M_Log
15、inNumvarchar20管理員登錄賬號主鍵密碼M_Passwordvarchar20管理員登錄密碼非空姓名M_Namevarchar20管理員姓名非空電話M_PhoneNumchar11聯(lián)系電話非空 表7.管理員管理稿件表(ManageArticle)屬性名存儲代碼類型長度備注完整性約束稿件編號MA_ArticleIDint主鍵管理員編號MA_LoginNumvarchar20管理員登錄密碼主鍵發(fā)表標(biāo)志MA_Publishint是否決定發(fā)表CHECK(0或1)發(fā)表日期MA_PublishDatedatetime8審查標(biāo)記MA_CheckFlagint是否經(jīng)過審查CHECK(0或1)繳費標(biāo)記
16、MA_PayFlagint是否繳納稿費CHECK(0或1)以上關(guān)系模式均為BCNF。3.2視圖設(shè)計為了方便程序查詢,建立了如下用戶視圖:1.投稿人登錄信息視圖(賬號,密碼)CREATE VIEW W_LOGIN(W_LoginNum,W_Password)ASSELECT W_LoginNum,W_PasswordFROM Writer;2.審稿人登錄信息視圖(賬號,密碼)CREATE VIEW E_LOGIN(E_LoginNum,E_Password)ASSELECT E_LoginNum,E_PasswordFROM Editor;3.管理員登錄信息視圖(賬號,密碼)CREATE VIE
17、W M_LOGIN(M_LoginNum,M_Password)ASSELECT M_LoginNum,M_PasswordFROM Manager;4.創(chuàng)建包含稿件所有信息的視圖CREATE VIEW Check_Article_View(E_LoginNum,A_ID,A_Title,W_RealName,W_PenName,A_Keyword,A_Summary,A_Content,A_WriterNum,A_CheckFlag,A_PayFlag,AT_Name,C_Comment)AS SELECT E_LoginNum,A_ID,A_Title,W_RealName,W_PenNa
18、me,A_Keyword,A_Summary,A_Content,A_WriterNum,A_CheckFlag,A_PayFlag,AT_Name,C_CommentFROM Article,ArticleType,CheckArticle,Editor,Writerwhere A_TypeNum = AT_ID AND A_WriterNum = W_LoginNum AND A_ID = C_ArticleID AND C_EditorNum = E_LoginNum5.創(chuàng)建待審稿件信息視圖CREATE VIEW notSee(A_WriterNum,A_ID,A_Title,AT_Na
19、me,A_CheckFlag,A_PayFlag)ASSELECT A_WriterNum,A_ID,A_Title,AT_Name,A_CheckFlag,A_PayFlagFROM ArticleType,Article left join CheckArticle on (A_ID = C_ArticleID)WHERE A_TypeNum = AT_ID6.創(chuàng)建已審稿件信息視圖CREATE VIEW haveSeen(A_WriterNum,A_ID,A_Title,AT_Name,C_Comment,A_CheckFlag,A_PayFlag)ASSELECT A_WriterNum
20、,A_ID,A_Title,AT_Name,C_Comment,A_CheckFlag,A_PayFlagFROM ArticleType,Article left join CheckArticle on (A_ID = C_ArticleID)WHERE A_TypeNum = AT_ID7.創(chuàng)建定稿管理視圖CREATE VIEW Sure_Article_View(A_ID,A_Title,C_Comment,A_PayFlag,MA_Publish,MA_PublishDate)ASSELECT A_ID,A_Title,C_Comment,A_PayFlag,MA_Publish,M
21、A_PublishDateFROM CheckArticle,Article left join ManageArticle on (A_ID = MA_ArticleID)WHERE A_CheckFlag=1 and A_ID=C_ArticleID 8.創(chuàng)建審稿管理中的所有稿件視圖CREATE VIEW All_Article_View(A_ID,A_Title,AT_Name,W_RealName,A_Keyword)AS SELECT A_ID,A_Title,AT_Name,W_RealName,A_KeywordFROM Article,ArticleType,WriterWHE
22、RE A_TypeNum = AT_ID AND A_WriterNum = W_LoginNum3.3存儲過程及觸發(fā)器設(shè)計1.創(chuàng)建存儲過程,統(tǒng)計指定作者的稿件信息CREATE PROCEDURE STASTICSA_WriterNum varchar(20)ASSELECT W_RealName,A_ID,A_Title,AT_Name,A_CheckFlag,A_PayFlag,C_Comment from Writer,ArticleType,Article LEFT join CheckArticle on (A_ID = C_ArticleID) WHERE A_WriterNum
23、= A_WriterNum and W_LoginNum = A_WriterNum and A_TypeNum=AT_ID;2.創(chuàng)建觸發(fā)器,當(dāng)Article表中A_PayFlag發(fā)生改變時,ManageArticle表中的MA_PayFlag也改變CREATE TRIGGER PayFLAG ON Article FOR UPDATE AS IF UPDATE(A_PayFlag) BEGIN UPDATE ManageArticle SET MA_PayFlag=i.A_PayFlag FROM ManageArticle br , Deleted d ,Inserted iWHERE b
24、r.MA_ArticleID=d.A_ID END; 3.創(chuàng)建觸發(fā)器,當(dāng)Article表中A_CheckFlag發(fā)生改變時,ManageArticle表中的MA_CheckFlag也改變CREATE TRIGGER CheckFLAG ON Article FOR UPDATE AS IF UPDATE(A_CheckFlag) BEGIN UPDATE ManageArticle SET MA_CheckFlag=i.A_CheckFlag FROM ManageArticle br , Deleted d ,Inserted iWHERE br.MA_ArticleID=d.A_ID EN
25、D; 4.創(chuàng)建觸發(fā)器,當(dāng)刪除一片稿件時,同時刪除CheckArticle中有關(guān)這篇文章的記錄CREATE TRIGGER DeleteCheckArticle ON Article AFTER DELETEAS DELETE CheckArticle FROM CheckArticle br , Deleted dWHERE br.C_ArticleID=d.A_ID5.創(chuàng)建觸發(fā)器,當(dāng)刪除一片稿件時,同時刪除ManageArticle中有關(guān)這篇文章的記錄CREATE TRIGGER DeleteManageArticle ON Article AFTER DELETEAS DELETE Man
26、ageArticle FROM ManageArticle br , Deleted dWHERE br.MA_ArticleID=d.A_ID 6.創(chuàng)建觸發(fā)器,當(dāng)刪除一個審稿人時,同時刪除CheckArticle中由此審稿人審查的任務(wù)CREATE TRIGGER DeleteEditor ON Editor AFTER DELETEAS DELETE CheckArticle FROM CheckArticle br , Deleted dWHERE br.C_EditorNum=d.E_LoginNum4. 物理設(shè)計確定數(shù)據(jù)庫物理結(jié)構(gòu)主要指確定數(shù)據(jù)的存放位置和存儲結(jié)構(gòu),包括確定關(guān)系、索引、
27、聚簇、日志、備份等的存儲安排和存儲結(jié)構(gòu),確定系統(tǒng)配置等。1、系統(tǒng)自動在每個表的主碼上建立索引。5.系統(tǒng)界面及代碼實現(xiàn)包括以下幾部分內(nèi)容:1、 表間連接關(guān)系圖圖4.表連接關(guān)系樣例圖2、 CHECK約束設(shè)置圖圖5.CHECK約束設(shè)置樣例圖3、 系統(tǒng)實現(xiàn)界面圖圖6.用戶登錄界面圖7.用戶注冊界面圖8.投稿界面圖9.查看待審稿件界面圖10.查看已審稿件界面圖10.投稿人修改個人資料界面圖11.在線審稿界面圖12.審稿人修改個人信息界面圖13.管理員分派稿件界面圖14.管理員發(fā)表稿件界面圖15.管理員管理各個作者稿件界面圖16.管理審稿人界面4、 關(guān)鍵代碼 登錄模塊package 在線審稿投稿管理系統(tǒng);
28、import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.border.EmptyBorder;import java.sql.*;import 在線審稿投稿管理系統(tǒng).Register;import 在線審稿投稿管理系統(tǒng).WriterSystem;public class Login extends JFrame implements ItemListener JFrame frame=this;Connection conn;Statement stm;ResultSet rs;Stri
29、ng url = "jdbc:sqlserver:/localhost:1433;DatabaseName=Management;"public static void main(String args) EventQueue.invokeLater(new Runnable() public void run() try Login frame = new Login();frame.setVisible(true); catch (Exception e) System.err.print(e.getMessage(););public Login() throws E
30、xception Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");conn=DriverManager.getConnection(url,"aa","aa");stm=conn.createStatement();loginBtn= new JButton("登錄");loginBtn.addActionListener(new ActionListener() public void actionPerformed(ActionEven
31、t e) String passwordStr=new String(password.getPassword();if (yonghu.getText().equals("")|passwordStr.equals("") JOptionPane.showConfirmDialog(frame, "賬號或密碼未填寫!", "提示", JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE); else if (RadioButton="manage
32、r") try rs=stm.executeQuery("select M_LoginNum,M_Password from M_LOGIN");while(rs.next()if(rs.getString("M_LoginNum").equals(yonghu.getText() && rs.getString("M_Password").equals(passwordStr) frame.dispose();new ManagerSystem(yonghu.getText().setVisible(tru
33、e);rs.close();stm.close();conn.close();JOptionPane.showConfirmDialog(frame, "賬號或密碼錯誤,請重新輸入!", "提示", JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE); catch (Exception e1) System.err.print(e1.getMessage();if (RadioButton="writer") try rs=stm.executeQuery("se
34、lect W_LoginNum,W_Password from W_LOGIN");while(rs.next()if(rs.getString("W_LoginNum").equals(yonghu.getText() && rs.getString("W_Password").equals(passwordStr)frame.dispose();new WriterSystem(yonghu.getText().setVisible(true);rs.close();stm.close();conn.close();JOpt
35、ionPane.showConfirmDialog(frame, "賬號或密碼錯誤,請重新輸入!", "提示", JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE); catch (Exception e1) System.err.print(e1.getMessage();else if (RadioButton="editor") try rs=stm.executeQuery("select E_LoginNum,E_Password from E_LOGI
36、N");while(rs.next()if(rs.getString("E_LoginNum").equals(yonghu.getText() &&rs.getString("E_Password").equals(passwordStr) frame.dispose();new EditorSystem(yonghu.getText().setVisible(true);rs.close();stm.close();conn.close();JOptionPane.showConfirmDialog(frame, "
37、;賬號或密碼錯誤,請重新輸入!", "提示", JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE); catch (Exception e1) System.err.print(e1.getMessage(););loginBtn.setForeground(new Color(0, 0, 139);loginBtn.setFont(new Font("微軟雅黑", Font.PLAIN, 12);loginBtn.setBounds( 135, 200, 60, 20);login
38、Btn.setBackground(new Color(176, 224, 230);backgroundLabel.add(loginBtn);registerBtn= new JButton("注冊");registerBtn.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) new Register().setVisible(true); );public void itemStateChanged(ItemEvent e) if (manager.isS
39、elected() RadioButton = "manager"if(writer.isSelected()RadioButton = "writer"else if(editor.isSelected()RadioButton ="editor"if(RadioButton="manager" | RadioButton="editor")registerBtn.setVisible(false);registerBtn.setEnabled(false);else registerBtn.
40、setVisible(true);registerBtn.setEnabled(true); 注冊模塊public void actionPerformed(ActionEvent e)if(userName.getText().equals("")|password.getText().equals("")|passwordAgain.getText().equals("")|realName.getText().equals("")|phoneNum.getText().equals("")
41、|EmailNum.getText().equals("")JOptionPane.showConfirmDialog(this, "請將必填信息填寫完整!", "提示", JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE); else if(!passwordAgain.getText().equals(password.getText()JOptionPane.showConfirmDialog(this, "兩次輸入的密碼不一致,請重新輸入!",
42、"提示", JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE); else try Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");conn=DriverManager.getConnection(url,"aa","aa");stm=conn.createStatement();rs=stm.executeQuery("select W_LoginNum from W
43、riter where W_LoginNum='"+userName.getText()+"'");if(rs.next()JOptionPane.showConfirmDialog(this, "此賬號已存在,請重新輸入!", "提示", JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE);else String sql="insert into Writer values ('"+userName.getText()
44、+"','"+password.getText()+"','"+realName.getText()+"','"+penName.getText()+"','"+phoneNum.getText()+"','"+address.getText()+"','"+EmailNum.getText()+"','"+remark.getText()+&q
45、uot;')"stm.executeUpdate(sql);conn.close();this.dispose(); catch (Exception e1) System.err.print(e1.getMessage();if (e1.getMessage().indexOf("W_Email")>0) JOptionPane.showConfirmDialog(this, "郵箱格式錯誤,請重新輸入!", "提示", JOptionPane.DEFAULT_OPTION, JOptionPane.WARN
46、ING_MESSAGE); 投稿人模塊public WriterSystem(String userNameString) throws Exception userNameStr=userNameString;JButton button = new JButton("提交稿費");button.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) try String payFlag=dtm1.getValueAt(row,3).toString();if(pa
47、yFlag.equals("是")JOptionPane.showConfirmDialog(frame, "您已交過稿費!", "提示", JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE);elsestm.executeUpdate("UPDATE Article SET A_PayFlag = 1 WHERE A_ID = '"+a_IDString+"'"); JOptionPane.showConfirmDi
48、alog(frame, "稿費繳納成功!", "提示", JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE);dtm1.setValueAt("是",row,3); catch (SQLException e1) e1.printStackTrace(););rs=stm.executeQuery("select DISTINCT A_ID,A_Title,AT_Name,A_PayFlag from haveSeen where A_WriterNum =
49、39;"+userNameStr+"' and A_CheckFlag = 1");while(rs.next()Vector vrow=new Vector();vrow.add(rs.getString("A_ID");vrow.add(rs.getString("A_Title");vrow.add(rs.getString("AT_Name");if(rs.getInt("A_PayFlag")=0)vrow.add("否"); else if (r
50、s.getInt("A_PayFlag")=1) vrow.add("是");vdata1.add(vrow);vcolumn1.add("編號");vcolumn1.add("標(biāo)題");vcolumn1.add("類型");vcolumn1.add("是否繳費");dtm1=new DefaultTableModel(vdata1,vcolumn1);ListSelectionModel selectionMode=haveSeenTable.getSelectionMod
51、el();selectionMode.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);selectionMode.addListSelectionListener(new ListSelectionListener() public void valueChanged(ListSelectionEvent e) try row=haveSeenTable.getSelectedRow();if(row>-1 && e.getValueIsAdjusting()a_IDString=(Stri
52、ng) dtm1.getValueAt(row,0);rs=stm.executeQuery("select C_Comment from haveSeen where A_ID = '"+a_IDString+"'");if(rs.next()comment.setText(rs.getString("C_Comment"); catch (Exception e1) System.err.print(e1.getMessage(););btnNewButton.addActionListener(new Actio
53、nListener() public void actionPerformed(ActionEvent e) int trow=notSeeTable.getSelectedRow();String articleIDString=dtm.getValueAt(trow,0).toString();try String payFlag=dtm.getValueAt(trow,3).toString();if(payFlag.equals("是")JOptionPane.showConfirmDialog(frame, "您已交過稿費!", "提示", JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE); elsestm.executeUpdate("UPDATE Article SET A_PayFlag = 1 WHERE A_ID = '"+articleIDString+"'");JOptionPane.showConfirmDialog(frame, "稿費繳納成功!", "提示", JOptionPane.D
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年高職機(jī)場貴賓服務(wù)(貴賓服務(wù)基礎(chǔ))試題及答案
- 2025年高職美容與美體藝術(shù)(美容儀器使用)試題及答案
- 2025年大學(xué)材料化學(xué)(材料合成技術(shù))試題及答案
- 2025年中職第一學(xué)年(新能源汽車運用與維修)新能源汽車維護(hù)試題及答案
- 2025年中職煙草栽培與加工(煙草烘烤技術(shù))試題及答案
- 2025年高職施工員實務(wù)(施工管理)試題及答案
- 2025年高職金屬材料與熱處理技術(shù)(金屬材料處理)試題及答案
- 2025年高職語言藝術(shù)(詩歌創(chuàng)作技巧)試題及答案
- 2025年高職摩托艇運動實踐(摩托艇實踐)試題及答案
- 2025年大學(xué)大三(工商管理)企業(yè)文化建設(shè)綜合測試試題及答案
- 養(yǎng)老院老人生活設(shè)施管理制度
- 2026年直播服務(wù)合同
- 自適應(yīng)巡航控制與跟車技術(shù)-深度研究
- 2020海灣消防GST-DJ-N500-GST-DJ-N900 消防設(shè)備電源狀態(tài)監(jiān)控器安裝使用說明書
- 工程造價咨詢的保密控制措施
- 鐵路勞動安全 課件 第二篇 常見事故預(yù)防
- 農(nóng)貿(mào)市場環(huán)境衛(wèi)生清潔行動工作方案
- 淮安市2022-2023學(xué)年七年級上學(xué)期期末地理試題
- 2024屆廣東省深圳市中考物理模擬試卷(一模)(附答案)
- 診所污水處理管理制度
- 輔導(dǎo)員工作的職責(zé)與使命課件
評論
0/150
提交評論