2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩24頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p><b>  一 課題名稱</b></p><p><b>  圖書館管理系統(tǒng)</b></p><p>  二 設(shè)計(jì)目的和要求、任務(wù) </p><p>  通過(guò)本次課程設(shè)計(jì),加深對(duì)數(shù)據(jù)庫(kù)原理以及相關(guān)程序設(shè)計(jì)語(yǔ)言的理解和應(yīng)用水平。通過(guò)設(shè)計(jì)實(shí)際的數(shù)據(jù)庫(kù)系統(tǒng)應(yīng)用課題,進(jìn)一步熟悉數(shù)據(jù)庫(kù)管理系統(tǒng)的操作技術(shù),提高動(dòng)手能

2、力,提高分析問(wèn)題和解決問(wèn)題的能力。</p><p><b>  三 需求分析</b></p><p> ?、佟⒛軌虼鎯?chǔ)一定圖書信息,并方便有效的進(jìn)行相應(yīng)的書籍?dāng)?shù)據(jù)操作和管理,這主要包括:</p><p>  1) 圖書信息的錄入、刪除及修改。</p><p>  2) 圖書信息的多關(guān)鍵字檢索查詢。</p>

3、<p>  3) 圖書的出借、返還及超期罰款或丟失賠償。</p><p>  ②、能夠?qū)ψx者、管理員、采購(gòu)員進(jìn)行相應(yīng)的信息存儲(chǔ)與管理,這其中包括:</p><p>  1) 讀者信息的登記、刪除及修改。</p><p>  2) 管理員信息的增加、刪除及修改。</p><p>  3) 采購(gòu)員信息的增加、刪除及修改。<

4、/p><p>  4) 讀者資料的統(tǒng)計(jì)與查詢。</p><p> ?、?、能夠提供一定的安全機(jī)制,提供數(shù)據(jù)信息授權(quán)訪問(wèn),防止隨意刪改、查詢。</p><p>  ④、對(duì)于借閱即將到期的讀者能夠及時(shí)通過(guò)郵箱發(fā)送提示信息;對(duì)于拖欠罰款的讀者給予鎖定并通過(guò)郵箱提醒;對(duì)于長(zhǎng)久不還書提及拖欠罰款進(jìn)行聯(lián)系。</p><p> ?、?、對(duì)查詢、統(tǒng)計(jì)的結(jié)果能夠列表

5、顯示。</p><p><b>  四 總體功能設(shè)計(jì)</b></p><p>  此圖書館系統(tǒng)登錄用戶分為三類采購(gòu)員,管理員,讀者用戶</p><p><b> ?、俨少?gòu)員用戶功能:</b></p><p><b> ?、诠芾韱T用戶功能:</b></p><

6、p><b>  ③讀者用戶功能:</b></p><p><b> ?、芟到y(tǒng)總體功能:</b></p><p><b>  五 數(shù)據(jù)庫(kù)設(shè)計(jì)</b></p><p> ?、鸥鶕?jù)要實(shí)現(xiàn)的功能設(shè)計(jì),可能建立它們之間的關(guān)系,進(jìn)而實(shí)現(xiàn)邏輯結(jié)構(gòu)功能。</p><p>  圖書管理信息

7、系統(tǒng)可以劃分的實(shí)體有:圖書實(shí)體、讀者實(shí)體、管理員實(shí)體,采購(gòu)者實(shí)體,借閱實(shí)體,圖書類型實(shí)體 E-R 圖如下:</p><p> ?、聘鶕?jù)E-R得到關(guān)系模式,根據(jù)實(shí)際情況,出版社跟圖書類型一般都固定的,單獨(dú)作為一個(gè)實(shí)體,用出版社號(hào),跟圖書類型號(hào)跟圖書聯(lián)系起來(lái);</p><p>  管理員:管理員號(hào),管理員姓名,管理員密碼,管理員電話</p><p>  采購(gòu)員:采購(gòu)者號(hào)

8、,采購(gòu)者姓名,采購(gòu)者密碼,采購(gòu)者電話</p><p>  讀者:讀者姓名,讀者密碼,讀者聯(lián)系方式,讀者借閱數(shù)量,讀者狀態(tài)</p><p>  圖書:圖書號(hào),圖書名,圖書狀態(tài),作者名,出版社號(hào),圖書類型號(hào),價(jià)格</p><p>  出版社:出版社號(hào),出版社名稱</p><p>  圖書類型:圖書類型號(hào),圖書類型名稱</p><

9、;p>  借閱:讀者號(hào),圖書號(hào),借閱日期,還書日期,罰款</p><p> ?、歉鲗?shí)體表格的數(shù)字字典</p><p><b>  管理員表Admin</b></p><p><b>  采購(gòu)員表</b></p><p>  讀者表reader:</p><p><

10、b>  圖書表book</b></p><p>  圖書類別表 booktype</p><p>  出版社表publish</p><p>  借閱表 borrow</p><p> ?。?)創(chuàng)建各個(gè)表sql語(yǔ)句</p><p><b> ?、賏dmin表</b></p&

11、gt;<p>  CREATE TABLE [dbo].[admin](</p><p>  [aid] [numeric](18, 0) NOT NULL,</p><p>  [aname] [nvarchar](50) NOT NULL,</p><p>  [apwd] [nvarchar](50) NOT NULL,</p>&

12、lt;p>  [atel] [numeric](11, 0) NOT NULL,</p><p>  CONSTRAINT [PK_admin] PRIMARY KEY CLUSTERED </p><p><b>  (</b></p><p><b>  [aid] ASC</b></p><

13、p>  )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]</p><p>  ) ON [PRIMARY]</p><p><b> ?、赽uyer表

14、</b></p><p>  CREATE TABLE [dbo].[buyer](</p><p>  [buyerid] [numeric](18, 0) NOT NULL,</p><p>  [buyername] [nvarchar](50) NOT NULL,</p><p>  [buyerpwd] [nvarcha

15、r](50) NOT NULL,</p><p>  [buyertel] [numeric](18, 0) NOT NULL,</p><p>  CONSTRAINT [PK_buyer] PRIMARY KEY CLUSTERED </p><p><b>  (</b></p><p>  [buyerid] A

16、SC</p><p>  )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]</p><p>  ) ON [PRIMARY]</p><p>

17、<b> ?、踨eader表</b></p><p>  CREATE TABLE [dbo].[reader](</p><p>  [rid] [numeric](18, 0) NOT NULL,</p><p>  [rname] [nvarchar](50) NOT NULL,</p><p>  [rpwd]

18、[nvarchar](50) NOT NULL,</p><p>  [re_mail] [nvarchar](50) NOT NULL,</p><p>  [rnum] [smallint] NOT NULL,</p><p>  [rstate] [smallint] NOT NULL,</p><p>  CONSTRAINT [PK

19、_reader] PRIMARY KEY CLUSTERED </p><p><b>  (</b></p><p><b>  [rid] ASC</b></p><p>  )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY =

20、 OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]</p><p>  ) ON [PRIMARY]</p><p><b> ?、躡ook表</b></p><p>  CREATE TABLE [dbo].[book](</p><p>

21、  [bid] [numeric](18, 0) NOT NULL,</p><p>  [bname] [nvarchar](100) NOT NULL,</p><p>  [bstate] [nvarchar](10) NOT NULL,</p><p>  [bauthor] [nvarchar](50) NOT NULL,</p><p

22、>  [bpublishid] [numeric](18, 0) NOT NULL,</p><p>  [btypeid] [nchar](10) NOT NULL,</p><p>  [bprice] [nvarchar](100) NOT NULL,</p><p>  CONSTRAINT [PK_book] PRIMARY KEY CLUSTERE

23、D </p><p><b>  (</b></p><p><b>  [bid] ASC</b></p><p>  )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON,

24、ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]</p><p>  ) ON [PRIMARY]</p><p> ?、?booktype表</p><p>  CREATE TABLE [dbo].[booktype](</p><p>  [btypeid] [nchar](10) NOT NULL,</p

25、><p>  [typename] [nvarchar](50) NOT NULL,</p><p>  CONSTRAINT [PK_booktype] PRIMARY KEY CLUSTERED </p><p><b>  (</b></p><p>  [btypeid] ASC</p><p&g

26、t;  )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]</p><p>  ) ON [PRIMARY]</p><p> ?、?publish表</p>

27、;<p>  CREATE TABLE [dbo].[publish](</p><p>  [bpublishid] [numeric](18, 0) NOT NULL,</p><p>  [publishname] [nvarchar](50) NOT NULL,</p><p>  CONSTRAINT [PK_publish] PRIMARY

28、 KEY CLUSTERED </p><p><b>  (</b></p><p>  [bpublishid] ASC</p><p>  )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON,

29、 ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]</p><p>  ) ON [PRIMARY]</p><p><b> ?、遙orrow表</b></p><p>  CREATE TABLE [dbo].[borrow](</p><p>  [rid] [numeric](18, 0)

30、 NOT NULL,</p><p>  [bid] [numeric](18, 0) NOT NULL,</p><p>  [start_date] [date] NOT NULL,</p><p>  [end_date] [date] NOT NULL,</p><p>  [payment] [nvarchar](100) NULL

31、,</p><p>  PRIMARY KEY CLUSTERED </p><p><b>  (</b></p><p>  [rid] ASC,</p><p><b>  [bid] ASC</b></p><p>  )WITH (PAD_INDEX = OFF,

32、 STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]</p><p>  ) ON [PRIMARY]</p><p><b> ?。?)創(chuàng)建表關(guān)系</b></p><p>

33、;<b>  六 應(yīng)用程序設(shè)計(jì)</b></p><p> ?、艑?duì)于不同的用戶登錄系統(tǒng)所看到的頁(yè)面不同,擁有的權(quán)限不相同,正如上面功能圖所示:對(duì)于讀者而言主要有檢索圖書,借閱圖書,歸還圖書,違章繳費(fèi)得功能;對(duì)于管理員是系統(tǒng)中權(quán)限最高的用戶,如對(duì)用戶的增加,刪改,編輯,對(duì)讀者違章繳費(fèi)的進(jìn)行收取費(fèi)用;在設(shè)計(jì)次系統(tǒng)中,管理員將增刪圖書的功能下架給采購(gòu)員,采購(gòu)員分擔(dān)管理員一下事物。</p>

34、<p> ?、普缜懊嫠f(shuō),系統(tǒng)分成不同的用戶,設(shè)計(jì)出3個(gè)表,在實(shí)際操作中發(fā)現(xiàn)其實(shí)用戶在一張表里面更容易設(shè)計(jì),增加一個(gè)用戶類型屬性就可以。但這是后話,所以在設(shè)計(jì)系統(tǒng)的時(shí)候代碼冗余較多,為了實(shí)現(xiàn)不同的用戶不同的功能,每類用戶對(duì)應(yīng)不同的頁(yè)面,以此達(dá)到控制權(quán)限。</p><p> ?、怯捎谙到y(tǒng)并完成定時(shí)的功能,所以在判斷讀者未及時(shí)歸還書籍,將用戶鎖定,以及所欠的費(fèi)用,通過(guò)觸發(fā)借書事件之前,調(diào)用成員函數(shù)來(lái)判

35、斷。</p><p><b>  七 調(diào)試運(yùn)行情況</b></p><p> ?。?)登錄:對(duì)各種用戶出現(xiàn)不同的菜單項(xiàng)</p><p><b>  ①管理員登錄</b></p><p><b> ?、诓少?gòu)員登錄</b></p><p><b>

36、 ?、圩x者登錄</b></p><p>  protected void sure_Click(object sender, EventArgs e)</p><p><b>  {</b></p><p>  string yzm = this.yzm.Text.ToString().Trim();//首先進(jìn)行驗(yàn)證碼判斷</

37、p><p>  if (yzm.ToUpper() != Session["CheckCode"].ToString().Trim())</p><p><b>  {</b></p><p>  Page.ClientScript.RegisterStartupScript(Page.GetType(), DateTime.N

38、ow.Ticks.ToString(), "<Script Language='Javascript'>alert('系統(tǒng)提示:\\r\\n\\r\\n'+'驗(yàn)證碼錯(cuò)誤!');</Script>");</p><p>  this.yzm.Text = "";</p><p>&

39、lt;b>  }</b></p><p>  else//驗(yàn)證碼正確之后進(jìn)行用戶名跟密碼判斷</p><p><b>  {</b></p><p>  SqlConnection con = sqlcon.getConnection();</p><p>  con.Open();</p>

40、<p>  if (type.SelectedValue == "1")//對(duì)讀者進(jìn)行驗(yàn)證</p><p><b>  {</b></p><p>  string s = "select * from reader where rid='"+userid.Text.ToString()+"

41、9; and rpwd='"+userpwd.Text.ToString()+"'";//傳值實(shí)現(xiàn)sql語(yǔ)句</p><p>  DataTable dt = new DataTable();</p><p>  SqlDataAdapter sda = new SqlDataAdapter();</p><p>  s

42、da.SelectCommand = new SqlCommand(s, con);</p><p>  sda.Fill(dt);</p><p>  sda.Dispose();</p><p>  con.Dispose();</p><p>  con.Close();</p><p>  if (dt.Row

43、s.Count> 0)//存在讀者</p><p><b>  {</b></p><p>  Session["id"] = dt.Rows[0][0].ToString();//保留讀者信息</p><p>  Session["type"] = "left3.html";/

44、/菜單為讀者菜單</p><p>  Response.Redirect("main.aspx");//跳到主頁(yè)面</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p>

45、;<p>  Response.Write("<Script type='text/javascript'>alert('系統(tǒng)提示:'用戶名或密碼錯(cuò)誤!')</Script>");</p><p>  userid.Text = "";</p><p>  userpwd.

46、Text = "";</p><p>  this.yzm.Text = "";</p><p><b>  }</b></p><p>  dt.Dispose();</p><p><b>  }</b></p><p>  els

47、e if (type.SelectedValue == "2")//對(duì)管理員進(jìn)行驗(yàn)證</p><p><b>  {</b></p><p>  string s = "select * from admin where aid='" + userid.Text.ToString() + "' and

48、apwd='" + userpwd.Text.ToString() + "'";//傳值實(shí)現(xiàn)sql語(yǔ)句</p><p>  DataTable dt = new DataTable();</p><p>  SqlDataAdapter sda = new SqlDataAdapter();</p><p>  sda.

49、SelectCommand = new SqlCommand(s, con);</p><p>  sda.Fill(dt);</p><p>  sda.Dispose();</p><p>  con.Dispose();</p><p>  con.Close();</p><p>  if (dt.Rows.C

50、ount > 0)//存在管理員</p><p><b>  {</b></p><p>  Session["id"] = dt.Rows[0][0].ToString();//保留管理員信息</p><p>  Session["type"] = "left.html";//

51、菜單為管理員菜單</p><p>  Response.Redirect("main.aspx");//跳到主頁(yè)面</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p>

52、;<p>  Response.Write("<Script type='text/javascript'>alert('系統(tǒng)提示:'用戶名或密碼錯(cuò)誤!')</Script>");</p><p>  userid.Text = "";</p><p>  userpwd.

53、Text = "";</p><p>  this.yzm.Text = "";</p><p><b>  }</b></p><p><b>  }</b></p><p>  else if (type.SelectedValue == "3&

54、quot;)//對(duì)采購(gòu)者進(jìn)行驗(yàn)證</p><p><b>  {</b></p><p>  string s = "select * from buyer where buyerid='" + userid.Text.ToString() + "' and buyerpwd='" + userpwd.T

55、ext.ToString() + "'";//傳值實(shí)現(xiàn)sql語(yǔ)句</p><p>  DataTable dt = new DataTable();</p><p>  SqlDataAdapter sda = new SqlDataAdapter();</p><p>  sda.SelectCommand = new SqlComma

56、nd(s, con);</p><p>  sda.Fill(dt);</p><p>  sda.Dispose();</p><p>  con.Dispose();</p><p>  con.Close();</p><p>  if (dt.Rows.Count > 0)//存在采購(gòu)者</p>

57、;<p><b>  {</b></p><p>  Session["id"] = dt.Rows[0][0].ToString();//保留采購(gòu)者信息</p><p>  Session["type"] = "left2.html";//菜單為采購(gòu)者菜單</p><p&g

58、t;  Response.Redirect("main.aspx");//跳到主頁(yè)面</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  Response.Writ

59、e("<Script type='text/javascript'>alert('系統(tǒng)提示:'用戶名或密碼錯(cuò)誤!')</Script>");</p><p>  userid.Text = "";</p><p>  userpwd.Text = "";</p&

60、gt;<p>  this.yzm.Text = "";</p><p><b>  }</b></p><p><b>  }</b></p><p>  con.Close();</p><p>  con.Dispose();</p><p

61、><b>  }</b></p><p><b>  }</b></p><p><b> ?、谱x者</b></p><p>  protected void name()</p><p><b>  {</b></p><p&g

62、t;  string table = "";</p><p>  string id = "";//獲取當(dāng)前用戶類型</p><p>  if (Session["type"].ToString() == "left.html")</p><p><b>  {</b&g

63、t;</p><p>  table = "admin";</p><p>  id = "aid";</p><p><b>  }</b></p><p>  else if (Session["type"].ToString() == "left

64、2.html")</p><p><b>  {</b></p><p>  table = "buyer";</p><p>  id = "buyerid";</p><p><b>  }</b></p><p>  e

65、lse if (Session["type"].ToString() == "left3.html")</p><p><b>  {</b></p><p>  table = "reader";</p><p>  id = "rid";</p>

66、<p><b>  }</b></p><p>  SqlConnection con = sqlcon.getConnection();</p><p>  con.Open();</p><p>  SqlDataAdapter sda = new SqlDataAdapter();</p><p>  s

67、da.SelectCommand = new SqlCommand("select * from " + table + " where " + id + "=" + Session["id"].ToString() + " ", con);//從讀者表中讀取信息</p><p>  DataTable dt =

68、 new DataTable();//一次顯示信息</p><p>  sda.Fill(dt);</p><p>  TxtRid.Text = dt.Rows[0][0].ToString();</p><p>  TxtRname.Text = dt.Rows[0][1].ToString();</p><p>  TxtRpwd.Te

69、xt = dt.Rows[0][2].ToString();</p><p>  TxtRe_mail.Text = dt.Rows[0][3].ToString();</p><p>  sda.Dispose();</p><p>  con.Close();</p><p>  con.Dispose();</p><

70、;p><b>  }</b></p><p>  protected void sure_Click(object sender, EventArgs e)</p><p><b>  {</b></p><p>  if (TxtRpwd.Text.ToString() == dt.Rows[0][2].ToStr

71、ing())//至此之前,頁(yè)面加載的時(shí)候,先讀取用戶信息,保留在表里面,之后判段原先密碼是否正確</p><p><b>  {</b></p><p>  string table = "";//獲取用戶類別</p><p>  //string name = "";</p><p&

72、gt;  string pwd = "";</p><p>  string id = "";</p><p>  if (Session["type"].ToString() == "left.html")</p><p><b>  {</b></p>

73、;<p>  table = "admin";</p><p>  // name = "aname";</p><p>  id = "aid";</p><p>  pwd = "apwd";</p><p><b>  }</b

74、></p><p>  else if (Session["type"].ToString() == "left2.html")</p><p><b>  {</b></p><p>  table = "buyer";</p><p>  // nam

75、e = "buyername";</p><p>  id = "buyerid";</p><p>  pwd = "buyerpwd";</p><p><b>  }</b></p><p>  else if (Session["type&qu

76、ot;].ToString() == "left3.html")</p><p><b>  {</b></p><p>  table = "reader";</p><p>  //name = "rname";</p><p>  id = "r

77、id";</p><p>  pwd = "rpwd";</p><p><b>  }</b></p><p>  string s = "update " + table + " set " + pwd + "='" + TxtRe_mail.

78、Text.ToString() + "' where " + id + "='" + dt.Rows[0][0].ToString()+"'";//更用戶密碼</p><p>  SqlConnection con=sqlcon.getConnection();</p><p>  con.Open();&

79、lt;/p><p>  SqlCommand cmd = new SqlCommand(s, con);</p><p>  if (cmd.ExecuteNonQuery() > 0)</p><p><b>  {</b></p><p>  Response.Write("<script type

80、='text/javascript'>alert('修改成功!')</script>");</p><p><b>  }</b></p><p>  TxtRpwd.Text = "";</p><p>  TxtRe_mail.Text = "&quo

81、t;;</p><p>  TextBox1.Text = "";</p><p>  con.Close();</p><p>  con.Dispose();</p><p><b>  }</b></p><p><b>  else</b><

82、/p><p><b>  {</b></p><p>  TxtRpwd.Text = "";</p><p>  TxtRe_mail.Text = "";</p><p>  TextBox1.Text = "";</p><p>  R

83、esponse.Write("<script type='text/javascript'>alert('原密碼不正確!')</script>");</p><p><b>  }</b></p><p><b>  }</b></p><p> 

84、 private void showbook()//按條件檢索圖書</p><p><b>  {</b></p><p>  SqlConnection con = sqlcon.getConnection();</p><p>  con.Open();</p><p>  string s = "sele

85、ct * from bookview where [" + select.SelectedValue + "]='" + simple.Text.ToString() + "'";//在數(shù)據(jù)庫(kù)建立試圖將book表,booktype表,publish表 聯(lián)系起來(lái),則查出來(lái)如圖所示效果</p><p>  SqlDataAdapter sda = ne

86、w SqlDataAdapter();</p><p>  sda.SelectCommand = new SqlCommand(s, con);</p><p>  sda.Fill(dt);//將查詢結(jié)果存儲(chǔ)到table里面</p><p>  if (dt.Rows.Count > 0)//存在圖書</p><p><b&g

87、t;  {</b></p><p>  GridView1.DataSource = dt;//綁定顯示</p><p>  GridView1.DataBind();</p><p><b>  }</b></p><p><b>  else</b></p><p

88、><b>  {</b></p><p>  Response.Write("<script type='text/javascript'>alert('無(wú)圖書記錄!')</script>");</p><p><b>  }</b></p><

89、p>  con.Close();</p><p>  con.Dispose();</p><p><b>  }</b></p><p>  多字段檢索(條件不一定要全部輸入)</p><p>  private string judge()//對(duì)字段判斷,返回執(zhí)行條件</p><p>&

90、lt;b>  {</b></p><p>  string s="";</p><p>  if (txtid.Text.Trim() != "")</p><p><b>  {</b></p><p>  s =" bid = '"

91、+txtid.Text.Trim()+"'";</p><p><b>  }</b></p><p>  if (txtname.Text.Trim() != "")</p><p><b>  {</b></p><p>  if (s.Trim(

92、) == "")</p><p><b>  {</b></p><p>  s += "bname ='" + txtname.Text.Trim() + "'";</p><p><b>  }</b></p><p>

93、<b>  else</b></p><p><b>  {</b></p><p>  s += " and bname ='" + txtname.Text.Trim() + "'";</p><p><b>  }</b></p>

94、;<p><b>  }</b></p><p>  if (txtauthor.Text.Trim() != "")</p><p><b>  {</b></p><p>  if (s.Trim() == "")</p><p><b

95、>  {</b></p><p>  s += " bauthor='" + txtauthor.Text.Trim() + "'";</p><p><b>  }</b></p><p><b>  else</b></p><

96、;p><b>  {</b></p><p>  s += " and bauthor='" + txtauthor.Text.Trim() + "'";</p><p><b>  }</b></p><p><b>  }</b><

97、;/p><p>  if (txtpublish.Text.Trim() != "")</p><p><b>  {</b></p><p>  if (s.Trim()=="")</p><p><b>  {</b></p><p>

98、  s += " publishname='" + txtpublish.Text.Trim() + "'";</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></

99、p><p>  s += " and publishname='" + txtpublish.Text.Trim() + "'";</p><p><b>  }</b></p><p><b>  }</b></p><p>  if (txtt

100、ype.Text.Trim() != "")</p><p><b>  {</b></p><p>  if (s.Trim() == "")</p><p><b>  {</b></p><p>  s += " typename='&

101、quot; + txttype.Text.Trim() + "'";</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  s += " and t

102、ypename='" + txttype.Text.Trim() + "'";</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  return s;</b></p><p>

103、<b>  }</b></p><p>  通過(guò)此函數(shù)來(lái)返回sql語(yǔ)句的執(zhí)行條件</p><p>  private void showbook()</p><p><b>  {</b></p><p>  SqlConnection con = sqlcon.getConnection();&l

104、t;/p><p>  con.Open();</p><p>  string s = judge();//獲取條件</p><p>  if (s.Trim() == "")</p><p><b>  {</b></p><p>  Response.Write("&

105、lt;script type='text/javascript'>alert('請(qǐng)輸入檢索')</script>");</p><p><b>  return;</b></p><p><b>  }</b></p><p>  s = "select

106、 * from bookview where " + s;//執(zhí)行sql,獲取符合條件的圖書</p><p>  SqlDataAdapter sda = new SqlDataAdapter();</p><p>  sda.SelectCommand = new SqlCommand(s, con);</p><p>  sda.Fill(dt);&l

107、t;/p><p>  if (dt.Rows.Count <=0)</p><p><b>  {</b></p><p>  Response.Write("<script type='text/javascript'>alert('無(wú)圖書記錄')</script>"

108、;);</p><p><b>  return;</b></p><p><b>  }</b></p><p>  GridView1.DataSource = dt;//存在圖書,綁定顯示</p><p>  GridView1.DataBind();</p><p>

109、  con.Close();</p><p>  con.Dispose();</p><p><b>  }</b></p><p><b>  圖書借閱:</b></p><p>  讀者借閱圖書,首先要判斷用戶是否有欠費(fèi)的圖書,若有將讀者狀態(tài)鎖定;若無(wú)則可借書。</p><

110、p>  public static void borrow(string id, string id2)//借閱自動(dòng)添加借書日期以及還書日期</p><p><b>  {</b></p><p>  DateTime t = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd")); //當(dāng)日為

111、借閱時(shí)間</p><p>  DateTime t2 = DateTime.Parse(DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd")).AddMonths(1).ToShortDateString());//歸還日期為借閱日期加一個(gè)月</p><p>  string s = "insert into b

112、orrow values('" + id + "','" + id2 + "','" + t + "','" + t2 + "','0')";//增加借閱記錄</p><p>  SqlConnection con = sqlcon.getCon

113、nection();</p><p>  con.Open();</p><p>  SqlCommand cmd = new SqlCommand(s, con);</p><p>  cmd.ExecuteNonQuery();</p><p>  cmd.Dispose();</p><p>  s = &quo

114、t;update reader set rnum=rnum+1 where rid='"+id+"'";</p><p>  cmd = new SqlCommand(s, con);</p><p>  cmd.ExecuteNonQuery();</p><p>  cmd.Dispose();</p>

115、<p>  con.Close();</p><p><b>  }</b></p><p>  public static void fi(string id)//超出還書日期,欠費(fèi)</p><p><b>  {</b></p><p>  SqlConnection con = s

116、qlcon.getConnection();</p><p>  con.Open();</p><p>  string s = "select bid,end_date from borrowbook where rid='" + id + "'";</p><p>  SqlDataAdapter sda

117、 = new SqlDataAdapter();</p><p>  sda.SelectCommand = new SqlCommand(s, con);</p><p>  DataTable dt = new DataTable();</p><p>  sda.Fill(dt);</p><p>  sda.Dispose();<

118、;/p><p>  if (dt.Rows.Count == 0)</p><p><b>  {</b></p><p><b>  return;</b></p><p><b>  }</b></p><p>  for (int i = 0; i &

119、lt; dt.Rows.Count; i++)</p><p><b>  {</b></p><p>  DateTime t = DateTime.Parse(dt.Rows[i][1].ToString());</p><p>  if (t<DateTime.Now)//還書日期小于當(dāng)前日期</p><p>

120、;<b>  {</b></p><p>  TimeSpan m =DateTime.Parse( DateTime.Now.ToString("yyyy-MM-dd")) - t;//每超過(guò)一天,欠費(fèi)就自動(dòng)增加一元</p><p>  string x = "update borrowbook set payment='&qu

121、ot;+m.Days.ToString()+"' where rid ='" + id + "' and bid='" + dt.Rows[i][0].ToString() + "'";//更新費(fèi)用到borrow表</p><p>  SqlCommand cmd = new SqlCommand(x, con);

122、</p><p>  cmd.ExecuteNonQuery();</p><p>  cmd.Dispose();</p><p>  x = "update borrowbook set rstate=1 where rid ='" + id + "' and bid='" + dt.Rows[i]

123、[0].ToString() + "'";//鎖定讀者</p><p>  cmd = new SqlCommand(x, con);</p><p>  cmd.ExecuteNonQuery();</p><p>  cmd.Dispose();</p><p>  cmd.Dispose();</p&g

124、t;<p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  public static bool state(string id)//判斷讀者狀態(tài)</p><p><b>  {

125、</b></p><p>  string s = "select rstate from reader where rid='" + id + "'";</p><p>  SqlConnection con = sqlcon.getConnection();</p><p>  con.Open

126、();</p><p>  SqlCommand cmd = new SqlCommand(s,con);</p><p>  //SqlDataReader ds = cmd.ExecuteReader();</p><p>  int i = int.Parse(cmd.ExecuteScalar().ToString().Trim());//讀取讀者狀態(tài)<

127、;/p><p>  cmd.Dispose();</p><p>  con.Dispose();</p><p>  if (i == 0)</p><p><b>  {</b></p><p>  return true;//未鎖定</p><p><b>  

128、}</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  return false;//鎖定</p><p><b>  }</b></p><p><b>  }<

129、/b></p><p>  protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)</p><p><b>  {//點(diǎn)擊借閱按鈕</b></p><p>  int j = e.RowIndex;</p><p>

130、;  string id = GridView1.Rows[j].Cells[0].Text.ToString();</p><p>  string state = GridView1.Rows[j].Cells[2].Text.ToString();</p><p>  if (state == "未借")</p><p><b>

131、  {</b></p><p>  bo.fi(Session["id"].ToString());//先判斷讀者是否欠費(fèi),鎖定</p><p>  if (bo.state(Session["id"].ToString()))//若讀者未鎖定</p><p><b>  {</b></

132、p><p>  bo.borrow(Session["id"].ToString(), id);//增加借閱記錄</p><p>  borrowsuccess(id);</p><p><b>  }</b></p><p><b>  else</b></p>&l

133、t;p><b>  {</b></p><p>  Response.Write("<script type='text/javascript'>window.alert('您已經(jīng)欠費(fèi),被鎖定!')</script>");</p><p><b>  }</b>&l

134、t;/p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  Response.Write("<script type='text/javascript'>w

135、indow.alert('圖書已被借!')</script>");</p><p><b>  }</b></p><p><b>  }</b></p><p>  先讀取用戶的借閱情況,代碼與上面類似;</p><p>  protected void Gr

136、idView1_RowUpdating(object sender, GridViewUpdateEventArgs e)</p><p><b>  {//續(xù)借功能</b></p><p>  int i = e.RowIndex;</p><p>  string id = GridView1.Rows[i].Cells[0].Text.T

137、oString();//圖書號(hào)</p><p>  DateTime end_date =DateTime.Parse(DateTime.Parse(DateTime.Parse(GridView1.Rows[i].Cells[3].Text.ToString()).ToString("yyyy-MM-dd")).AddMonths(1).ToShortDateString());//還書日期

138、增加一個(gè)月</p><p>  string s = "update returnbook set end_date='"+end_date+"' where bid='"+id+"'";</p><p>  SqlConnection con = sqlcon.getConnection();&l

139、t;/p><p>  con.Open();</p><p>  SqlCommand cmd = new SqlCommand(s, con);</p><p>  if (cmd.ExecuteNonQuery() > 0)</p><p><b>  {</b></p><p>  Res

140、ponse.Write("<script type='text/javascript'>alert('續(xù)借成功!')</script>");</p><p><b>  biand();</b></p><p><b>  }</b></p><p&g

141、t;  con.Close();</p><p>  con.Dispose();</p><p><b>  }</b></p><p>  頁(yè)面加載調(diào)用bo類的fi(string id)函數(shù),并更新欠費(fèi)(沒過(guò)一天欠費(fèi)自動(dòng)加1元)</p><p>  protected void Page_Load(object se

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論