uml家庭理財(cái)管理系統(tǒng)課程設(shè)計(jì)_第1頁
已閱讀1頁,還剩30頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p>  《數(shù)據(jù)庫原理及應(yīng)用》課程設(shè)計(jì)</p><p><b>  設(shè)計(jì)報(bào)告</b></p><p><b>  摘要:</b></p><p>  家庭理財(cái)系統(tǒng),即Family Conduct Financial Transactions System。它利用計(jì)算機(jī)應(yīng)用技術(shù),使家庭理財(cái)逐步信息化,從而形成由家

2、庭成員與計(jì)算機(jī)共同構(gòu)成服務(wù)于家庭的人機(jī)信息財(cái)務(wù)管理系統(tǒng)。隨著計(jì)算機(jī)發(fā)展,家庭理財(cái)系統(tǒng)已經(jīng)成為很多家庭財(cái)務(wù)管理的一個重要途徑。計(jì)算機(jī)的最大優(yōu)點(diǎn)在于利用它能夠高效準(zhǔn)確地進(jìn)行財(cái)務(wù)信息管理。使用計(jì)算機(jī)進(jìn)行信息財(cái)務(wù)管理,不僅提高了工作效率,而且大大的提高了其安全性。家庭財(cái)務(wù)管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護(hù)以及前端應(yīng)用程序的開發(fā)兩個方面。對于前者要求建立起數(shù)據(jù)一致性和完整性強(qiáng)、數(shù)據(jù)安全性好的庫。而對于后者

3、則要求應(yīng)用程序功能完備,易使用等特點(diǎn)。</p><p>  關(guān)鍵字:家庭理財(cái);數(shù)據(jù)庫;</p><p>  Summary: The family financial management system, namely the Family Conduct Financial Transactions System. It uses computer technology to

4、make family financial management step by step information, to form the computer by family members together constitute the human-computer information services in the family financial management system. With the compu

5、ter development, family financial management system, many families in financial management has become an important way. The biggest advantage is tha</p><p>  Keywords: family financial management; datab

6、ase;</p><p><b>  摘要:1</b></p><p>  1 家庭理財(cái)管理2</p><p>  1.1 需求分析2</p><p>  1.2 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)3</p><p>  1.2.1 概念結(jié)構(gòu)設(shè)計(jì)3</p><p>  1.2.2

7、 數(shù)據(jù)庫設(shè)計(jì)5</p><p>  1.3 系統(tǒng)功能模塊設(shè)計(jì)6</p><p>  1.3.1 系統(tǒng)功能模塊劃分6</p><p>  1.3.2 系統(tǒng)功能模塊圖7</p><p>  1.4 系統(tǒng)詳細(xì)設(shè)計(jì)7</p><p>  1.4.1 登錄界面設(shè)計(jì)7</p><p>  1.4

8、.2 系統(tǒng)主界面9</p><p>  1.4.3 系統(tǒng)管理11</p><p>  1.4.3.1 修改密碼11</p><p>  1.4.4 基礎(chǔ)數(shù)據(jù)管理13</p><p>  1.4.4.1 家庭成員管理13</p><p>  1.4.4.2 收支項(xiàng)目管理15</p><p&

9、gt;  1.4.5儲蓄管理20</p><p>  1.4.5.1 銀行賬戶管理20</p><p>  1.4.6 理財(cái)分析23</p><p>  1.4.6.1 查詢明細(xì)23</p><p>  1.4.6.2 理財(cái)報(bào)告27</p><p>  1.4.7 幫助27</p><p

10、><b>  總結(jié):28</b></p><p><b>  參考文獻(xiàn)28</b></p><p><b>  1 家庭理財(cái)管理</b></p><p><b>  1.1 需求分析</b></p><p>  長期以來人們使用傳統(tǒng)的大腦記憶方式

11、來管理家里的日常消費(fèi),這非常麻煩,靠大腦的記憶,只能記住很短的時間,所以常常為錢不知去向而煩惱。而有時常常會想不起一些消費(fèi)記錄,家里的理財(cái)很是混亂。綜上所述,靠人腦記憶理財(cái)存在很大的不足。而家庭理財(cái)系統(tǒng)則為家庭解決了上述問題,提供了快速,直觀明了的理財(cái)過程,方便使用。家庭理財(cái)管理系統(tǒng)是針對用戶的要求,用計(jì)算機(jī)對自己的財(cái)務(wù)的收入、支出以及相關(guān)的各種信息,進(jìn)行記錄、修改、添加、刪除而設(shè)計(jì)的一種現(xiàn)代化管理軟件。</p><

12、p>  通過需求分析,本系統(tǒng)需要具有以下功能:</p><p>  (1)要求系統(tǒng)具有良好的人機(jī)界面。</p><p>  (2)能夠完善家庭理財(cái)管理系統(tǒng)的各項(xiàng)功能,能成功的對用戶各種信息進(jìn)行管理。</p><p>  (3)查詢、修改、刪除、添加數(shù)據(jù)方便,數(shù)據(jù)的安全性和可靠性好。</p><p>  (4) 系統(tǒng)最大限度地實(shí)現(xiàn)了易維護(hù)

13、性和易操作性。</p><p>  1.2 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)</p><p>  1.2.1 概念結(jié)構(gòu)設(shè)計(jì)</p><p>  建立系統(tǒng)數(shù)據(jù)模型的主要工具是實(shí)體-聯(lián)系圖,即E-R圖。E-R圖的圖形符號約定如表1-1所示:</p><p>  表 1-1 E—R圖的圖形符號</p><p>  系統(tǒng)的E-R圖,如圖1-

14、1所示,每個實(shí)體及屬性如下:</p><p>  家庭成員:姓名、稱呼、密碼、出生日期</p><p>  收入記錄:收入項(xiàng)目編號、收入項(xiàng)目名稱、收入人員、收入金額、收入日期</p><p>  支出記錄:支出項(xiàng)目編號、支出項(xiàng)目名稱、支出人員、支出金額、支出日期</p><p>  銀行信息:銀行賬號、銀行名稱、開戶人、存款金額、開戶日期&l

15、t;/p><p>  家庭成員關(guān)系E-R圖</p><p><b>  收入記錄E-R圖</b></p><p><b>  支出記錄E-R圖</b></p><p><b>  銀行信息E-R圖</b></p><p>  圖1-1 系統(tǒng)總E-R圖<

16、;/p><p>  1.2.2 數(shù)據(jù)庫設(shè)計(jì)</p><p>  系統(tǒng)數(shù)據(jù)庫名為:財(cái)務(wù)管理,數(shù)據(jù)庫中包括:家庭成員表(member),收入記錄表(income),支出記錄表(outcome),銀行信息表(bank),各個表的數(shù)據(jù)結(jié)構(gòu)如下表1-1~表1-4所示。</p><p>  表1-1家庭成員表(member)的數(shù)據(jù)結(jié)構(gòu)</p><p>  表

17、1-2收入記錄表(income)的數(shù)據(jù)結(jié)構(gòu)</p><p>  表1-3支出記錄表(outcome)的數(shù)據(jù)結(jié)構(gòu)</p><p>  表1-4銀行信息表(bank)的數(shù)據(jù)結(jié)構(gòu)</p><p><b>  表與表之間的關(guān)系:</b></p><p>  圖1-2 表與表的關(guān)系圖</p><p>  1

18、.3 系統(tǒng)功能模塊設(shè)計(jì)</p><p>  1.3.1 系統(tǒng)功能模塊劃分</p><p>  具體說來,要求本系統(tǒng)具有以下幾個功能模塊:用戶登錄模塊、用戶管理模塊、收入模塊、支出模塊、密碼管理模塊、賬目統(tǒng)計(jì)模塊、報(bào)表輸出模塊以及查詢模塊。</p><p>  各模塊具體的需求描述如下:</p><p>  (1) 用戶登錄模塊</p&g

19、t;<p>  用戶登錄:驗(yàn)證用戶的信息是否合法,以及驗(yàn)證用戶是否為系統(tǒng)的合法用戶。</p><p><b>  (2)用戶管理模塊</b></p><p>  在系統(tǒng)中主要包括添加用戶、刪除用戶、更改用戶、用戶修改密碼。</p><p>  (3) 收支輸入模塊</p><p>  主要實(shí)現(xiàn)對收入和支出記

20、錄的添加、刪除、修改。</p><p>  (6) 報(bào)表輸出模塊</p><p>  主要實(shí)現(xiàn)對收入、支出記錄的輸出及打印。</p><p><b>  (7) 查詢模塊</b></p><p>  主要實(shí)現(xiàn)對收入、支出記錄按時間按類型查詢、消費(fèi)提醒(實(shí)際消費(fèi)額快接近預(yù)消費(fèi)額)、收入、支出記錄的輸出。</p>

21、<p>  1.3.2 系統(tǒng)功能模塊圖</p><p>  圖1-3系統(tǒng)功能模塊結(jié)構(gòu)圖</p><p>  1.4 系統(tǒng)詳細(xì)設(shè)計(jì)</p><p>  啟動Visual Studio 2008,選擇“文件”|“新建”|“項(xiàng)目”即命令,建立家庭理財(cái)管理應(yīng)用程序。下面介紹各窗體的程序設(shè)計(jì)。</p><p>  1.4.1 登錄界面設(shè)計(jì)

22、</p><p>  登錄界面的作用就是判斷用戶身份的合法性。輸入用戶名和密碼,若用戶名、密碼正確,單擊[登錄系統(tǒng)]按鈕,即可進(jìn)入主界面,否則不能進(jìn)入。登錄界面效果,如圖1-4所示:</p><p>  圖 1-4 登錄界面</p><p>  該窗體中設(shè)計(jì)了2個TextBox控件和兩個Button控件。各個控件的名稱、作用如表4-7所示:</p>&

23、lt;p>  表1-5 登錄界面主要控件設(shè)計(jì)</p><p><b>  登錄界面部分代碼:</b></p><p>  private void loginbtn_Click_1(object sender, EventArgs e)//登錄</p><p><b>  {</b></p><p

24、>  SqlConnection cn = new SqlConnection("data source=.;Initial Catalog=財(cái)務(wù)管理;Integrated Security=true;");</p><p><b>  try{</b></p><p>  cn.Open();</p><p>  S

25、qlCommand cmd = new SqlCommand("select name,pwd from member where name='" + textBox1.Text + "' and pwd='" + textBox2.Text + "'", cn);</p><p>  cmd.ExecuteNonQuer

26、y();</p><p>  MainForm form2 = new MainForm(textBox1.Text);</p><p>  form2.Show();</p><p>  this.Hide();</p><p><b>  }</b></p><p>  catch (SqlE

27、xception ex){</p><p>  MessageBox.Show("用戶名或密碼錯誤!請檢查!" + ex.Message);</p><p><b>  }</b></p><p><b>  finally{</b></p><p>  cn.Close();&

28、lt;/p><p><b>  }</b></p><p><b>  }</b></p><p>  當(dāng)單擊“退出系統(tǒng)”按鈕時,觸發(fā)exitbtn_Click事件,關(guān)閉當(dāng)前窗體。代碼如下:</p><p>  private void exitbtn_Click_1(object sender, Ev

29、entArgs e)//退出</p><p><b>  {</b></p><p>  this.Close();</p><p><b>  }</b></p><p>  另外,在登錄界面出現(xiàn)前,Login窗體設(shè)置為消隱,代碼如下:</p><p>  private

30、void timer1_Tick(object sender, EventArgs e)</p><p><b>  {</b></p><p>  this.Opacity -= 0.03;</p><p>  if (this.Opacity == 0){ </p><p>  timer1.

31、Enabled = false;</p><p>  this.FormBorderStyle = FormBorderStyle.Sizable;</p><p>  this.Opacity = 1;</p><p>  label1.Visible = true;</p><p>  label2.Visible = true;<

32、/p><p>  label3.Visible = true;</p><p>  textBox1.Visible = true;</p><p>  textBox2.Visible = true;</p><p>  loginbtn.Visible = true;</p><p>  exitbtn.Visible

33、 = true;</p><p><b>  }</b></p><p><b>  }</b></p><p>  在窗體加載時,啟動Timer,代碼如下:</p><p>  private void Form1_Load(object sender, EventArgs e)</p>

34、;<p><b>  {</b></p><p>  timer1.Enabled = true;</p><p><b>  }</b></p><p>  1.4.2 系統(tǒng)主界面</p><p>  通過身份驗(yàn)證后,進(jìn)入系統(tǒng)主界面,如圖1-5所示,該主界面的作用就是顯示用戶所擁有的

35、所有的功能菜單項(xiàng),當(dāng)用戶單擊相應(yīng)的菜單項(xiàng)時,打開對應(yīng)的模塊窗口。</p><p>  圖 1-5 系統(tǒng)主界面</p><p>  系統(tǒng)主界面部分代碼:</p><p>  1、在主界面中選擇【系統(tǒng)管理】|【修改密碼】命令菜單,就會觸發(fā)修改密碼ToolStripMenuItem_Click事件,進(jìn)入修改密碼界面。代碼如下:</p><p>  

36、private void 修改密碼ToolStripMenuItem1_Click(object sender, EventArgs e)</p><p><b>  {</b></p><p>  ModifyPwd form3 = new ModifyPwd(name);</p><p>  form3.Show();</p>

37、<p><b>  }</b></p><p>  2、在主界面中選擇【重新登錄】命令菜單,就會觸發(fā)重新登錄ToolStripMenuItem_Click事,進(jìn)入登錄界面。代碼如下:</p><p>  private void 重新登錄ToolStripMenuItem2_Click(object sender, EventArgs e)</p&g

38、t;<p><b>  {</b></p><p>  Login f1 = new Login();</p><p>  f1.Show();</p><p>  this.Close(); </p><p><b>  }</b></p><p>  3、

39、在管理員主界面中選擇【退出系統(tǒng)】命令菜單,就會觸發(fā)退出系統(tǒng)ToolStripMenuItem_Click事件,整個程序退出。代碼如下:</p><p>  private void 退出系統(tǒng)ToolStripMenuItem2_Click(object sender, EventArgs e)</p><p><b>  {</b></p><p&

40、gt;  this.Close();</p><p><b>  }</b></p><p>  1.4.3 系統(tǒng)管理</p><p>  1.4.3.1 修改密碼</p><p>  在主界面中選擇【系統(tǒng)管理】|【修改密碼】命令菜單,即可進(jìn)入修改密碼界面,如圖1-6所示。該窗體中需要提供的信息包括:用戶名、密碼、確認(rèn)密

41、碼。信息錄入后單擊“確認(rèn)”按鈕,代碼如下:</p><p>  圖 1-6 修改密碼界面</p><p>  在該窗體中主要設(shè)計(jì)了4個TextBox控件、2個Button控件。各個控件的名稱、作用如表5-8所示。</p><p>  表1-6 添加管理員界面控件設(shè)計(jì)</p><p>  1、單擊“確認(rèn)”按鈕時觸發(fā)button1_Click事件

42、,第一步判斷原密碼是否正確;若正確,第二步判斷兩次密碼是否相同;若相同則修改密碼。代碼如下:</p><p>  private void button1_Click(object sender, EventArgs e) //確認(rèn)</p><p><b>  {</b></p><p>  String pwd="";&

43、lt;/p><p>  SqlConnection cn = new SqlConnection("data source=.;Initial Catalog=財(cái)務(wù)管理;Integrated Security=true;");</p><p><b>  try{</b></p><p>  cn.Open();</p&g

44、t;<p>  SqlCommand checkCmd = new SqlCommand("select pwd from member where name='" + textBox1.Text + "'", cn);</p><p>  SqlDataReader dr = checkCmd.ExecuteReader();</p&g

45、t;<p>  if (dr.Read()){</p><p>  pwd = dr[0].ToString();</p><p><b>  }</b></p><p>  if (textBox2.Text != pwd.Trim()){</p><p>  MessageBox.Show("

46、原密碼輸入錯誤!請重新輸入!");</p><p><b>  }</b></p><p>  if (textBox2.Text == "" || textBox3.Text == "" || textBox4.Text == ""){</p><p>  MessageB

47、ox.Show("警告:密碼不能為空!");</p><p><b>  }</b></p><p>  if (textBox3.Text != textBox4.Text){</p><p>  MessageBox.Show("警告:兩次輸入的密碼必須相同!");</p><p&

48、gt;<b>  }</b></p><p><b>  }</b></p><p>  catch (SqlException ex){</p><p>  MessageBox.Show(ex.Message);</p><p><b>  }</b></p>

49、<p><b>  finally{</b></p><p>  cn.Close();</p><p><b>  }</b></p><p><b>  try{</b></p><p>  cn.Open();

50、 </p><p>  SqlCommand modifyCmd = new SqlCommand("update member set pwd='" + textBox3.Text + "' where name='" + textBox1.Text + "'", cn);</p><p>  m

51、odifyCmd.ExecuteNonQuery();</p><p>  MessageBox.Show("修改成功!");</p><p>  this.Close();</p><p><b>  }</b></p><p>  catch (SqlException ex){</p>

52、;<p>  MessageBox.Show("修改失敗!" + ex.Message);</p><p><b>  }</b></p><p><b>  finally{</b></p><p>  cn.Close();</p><p><b> 

53、 }</b></p><p><b>  }</b></p><p>  2、單擊“取消”按鈕時,將觸發(fā)cancel_Click事件,關(guān)閉當(dāng)前窗體。代碼如下:</p><p>  private void cancelbtn_Click(object sender, EventArgs e)</p><p>

54、<b>  {</b></p><p>  this.Close();</p><p><b>  }</b></p><p>  1.4.4 基礎(chǔ)數(shù)據(jù)管理</p><p>  1.4.4.1 家庭成員管理</p><p>  在主界面中選擇【基礎(chǔ)數(shù)據(jù)管理】|【家庭成員管理】

55、命令菜單,即可進(jìn)入家庭成員管理界面,如圖1-7所示。</p><p>  圖1-7 家庭成員管理</p><p>  家庭成員添加界面主要代碼:</p><p>  1、窗體加載時觸發(fā)Form4_Load事件,通過該事件向dataGridView控件中填入member表的內(nèi)容,代碼如下:</p><p>  void display()<

56、;/p><p><b>  {</b></p><p>  ds.Clear();</p><p>  SqlCommand cmd = new SqlCommand("select name '姓名',pwd '密碼',call '稱呼',birth '出生日期' from

57、 member", cn);</p><p>  da = new SqlDataAdapter(cmd);</p><p>  da.Fill(ds, "member");</p><p>  dataGridView1.DataSource = ds.Tables["member"];</p>&l

58、t;p><b>  }</b></p><p>  private void Form4_Load(object sender, EventArgs e)</p><p><b>  {</b></p><p>  display();</p><p>  cn.Open();</p&g

59、t;<p>  channametxb.DataBindings.Add("Text", ds.Tables["member"], ds.Tables["member"].Columns["姓名"].ColumnName);</p><p>  chanpwdtxb.DataBindings.Add("Text

60、", ds.Tables["member"], ds.Tables["member"].Columns["密碼"].ColumnName);</p><p>  chancalltxb.DataBindings.Add("Text", ds.Tables["member"], ds.Tables[&quo

61、t;member"].Columns["稱呼"].ColumnName);</p><p>  chanbirtxb.DataBindings.Add("Text", ds.Tables["member"], ds.Tables["member"].Columns["出生日期"].ColumnName);

62、</p><p>  delnametxb.DataBindings.Add("Text", ds.Tables["member"], ds.Tables["member"].Columns["姓名"].ColumnName);</p><p>  delpwdtxb.DataBindings.Add(&quo

63、t;Text", ds.Tables["member"], ds.Tables["member"].Columns["密碼"].ColumnName);</p><p>  delcalltxb.DataBindings.Add("Text", ds.Tables["member"], ds.Tables

64、["member"].Columns["稱呼"].ColumnName);</p><p>  delbirtxb.DataBindings.Add("Text", ds.Tables["member"], ds.Tables["member"].Columns["出生日期"].ColumnNa

65、me);</p><p>  cn.Close();</p><p><b>  }</b></p><p>  2、點(diǎn)擊“添加“按鈕時,觸發(fā)addbtn_Click事件,向member表中添加一條信息,并在dataGridView中顯示,代碼如下:</p><p>  private void addbtn_Click

66、(object sender, EventArgs e) //添加</p><p><b>  {</b></p><p>  String str=String.Format("insert into member values('{0}','{1}','{2}','{3}')",

67、addnametxb.Text.Trim(),addcalltxb.Text.Trim(),addpwdtxb.Text.Trim(),addbirtxb.Text.Trim());</p><p>  SqlCommand cmd = new SqlCommand(str, cn);</p><p><b>  try{</b></p><p&g

68、t;  cn.Open();</p><p>  cmd.ExecuteNonQuery();</p><p>  display();</p><p>  MessageBox.Show("添加成功!");</p><p><b>  }</b></p><p>  catc

69、h (SqlException ex){</p><p>  MessageBox.Show(ex.Message);</p><p><b>  }</b></p><p><b>  finally{</b></p><p>  cn.Close();</p><p>&

70、lt;b>  }</b></p><p><b>  }</b></p><p>  3、點(diǎn)擊“修改“按鈕時,觸發(fā)modifybtn_Click事件,修改member表中的某條信息,并在dataGridView中顯示,代碼如下:</p><p>  private void modifybtn_Click(object sen

71、der, EventArgs e) //修改</p><p><b>  {</b></p><p>  String str = String.Format("update member set call='" + chancalltxb.Text.Trim() + "' ,pwd='" + chan

72、pwdtxb.Text.Trim() + "',birth='" + chanbirtxb.Text.Trim() + "' where name='" + channametxb.Text.Trim()+"'");</p><p>  SqlCommand cmd = new SqlCommand(str,cn)

73、;</p><p><b>  try{</b></p><p>  cn.Open();</p><p>  cmd.ExecuteNonQuery();</p><p>  display();</p><p>  MessageBox.Show("修改成功!");<

74、/p><p><b>  }</b></p><p>  catch (SqlException ex){</p><p>  MessageBox.Show(ex.Message);</p><p><b>  }</b></p><p><b>  finally{

75、</b></p><p>  cn.Close();</p><p><b>  }</b></p><p><b>  }</b></p><p>  4、點(diǎn)擊“刪除“按鈕時,觸發(fā)deltn_Click事件,從member表中刪除一條信息,并在dataGridView中顯示,代碼如下:

76、</p><p>  private void delbtn_Click(object sender, EventArgs e) //刪除</p><p><b>  {</b></p><p>  String str = String.Format("delete from member where name='&quo

77、t;+ delnametxb.Text.Trim()+"'");</p><p>  SqlCommand cmd = new SqlCommand(str, cn);</p><p><b>  try{</b></p><p>  cn.Open();</p><p>  cmd.Exec

78、uteNonQuery();</p><p>  display();</p><p>  MessageBox.Show("刪除成功!");</p><p><b>  }</b></p><p>  catch(SqlException ex){</p><p>  Mes

79、sageBox.Show(ex.Message);</p><p><b>  }</b></p><p><b>  finally{</b></p><p>  cn.Close();</p><p><b>  }</b></p><p><

80、b>  }</b></p><p>  1.4.4.2 收支項(xiàng)目管理</p><p>  在主界面中選擇【基礎(chǔ)數(shù)據(jù)管理】|【收支項(xiàng)目管理】命令菜單,即可進(jìn)入收支項(xiàng)目管理界面,如圖1-8所示。</p><p>  圖 1-8 收支項(xiàng)目管理界面</p><p>  收支項(xiàng)目管理界面主要代碼:</p><p&g

81、t;  窗體加載時觸發(fā)Form5_Load事件,通過該事件向dataGridView控件中填入income和outcome表的內(nèi)容,代碼如下:</p><p>  private void displayIncome() </p><p><b>  {</b></p><p>  dsIn.Clear(); </p><p

82、>  cmdIn = new SqlCommand("select distinct inproID '項(xiàng)目編號',inproName '項(xiàng)目名稱',call '收入人員',inmoney '收入金額',indata '收入日期' from income", cn);</p><p>  da = new S

83、qlDataAdapter(cmdIn);</p><p>  da.Fill(dsIn, "income");</p><p>  dataGridView2.DataSource = dsIn.Tables["income"];</p><p><b>  }</b></p><p

84、>  private void displayOutcome()</p><p><b>  {</b></p><p>  dsOut.Clear();</p><p>  cmdOut = new SqlCommand("select distinct outproID '項(xiàng)目編號',outproName &

85、#39;項(xiàng)目名稱',call '支出人員',outmoney '支出金額',outdata '支出日期' from outcome", cn);</p><p>  da = new SqlDataAdapter(cmdOut);</p><p>  da.Fill(dsOut, "outcome");&

86、lt;/p><p>  dataGridView1.DataSource = dsOut.Tables["outcome"];</p><p><b>  }</b></p><p>  private void Form5_Load(object sender, EventArgs e)</p><p>

87、;<b>  {</b></p><p>  displayIncome();</p><p>  displayOutcome();</p><p>  cn.Open();</p><p>  comboBox1.DataBindings.Add("Text", dsIn.Tables["

88、;income"], dsIn.Tables["income"].Columns["項(xiàng)目編號"].ColumnName);</p><p>  textBox1.DataBindings.Add("Text", dsIn.Tables["income"], dsIn.Tables["income"].Co

89、lumns["項(xiàng)目名稱"].ColumnName);</p><p>  comboBox2.DataBindings.Add("Text", dsIn.Tables["income"], dsIn.Tables["income"].Columns["收入人員"].ColumnName);</p>&

90、lt;p>  textBox2.DataBindings.Add("Text", dsIn.Tables["income"], dsIn.Tables["income"].Columns["收入金額"].ColumnName);</p><p>  dateTimePicker2.DataBindings.Add("T

91、ext", dsIn.Tables["income"], dsIn.Tables["income"].Columns["收入日期"].ColumnName);</p><p>  comboBox6.DataBindings.Add("Text", dsOut.Tables["outcome"], dsO

92、ut.Tables["outcome"].Columns["項(xiàng)目編號"].ColumnName);</p><p>  textBox4.DataBindings.Add("Text", dsOut.Tables["outcome"], dsOut.Tables["outcome"].Columns["項(xiàng)

93、目名稱"].ColumnName);</p><p>  comboBox5.DataBindings.Add("Text", dsOut.Tables["outcome"], dsOut.Tables["outcome"].Columns["支出人員"].ColumnName);</p><p> 

94、 textBox3.DataBindings.Add("Text", dsOut.Tables["outcome"], dsOut.Tables["outcome"].Columns["支出金額"].ColumnName);</p><p>  dateTimePicker1.DataBindings.Add("Text&q

95、uot;, dsOut.Tables["outcome"], dsOut.Tables["outcome"].Columns["支出日期"].ColumnName);</p><p>  SqlCommand cmd = new SqlCommand("select distinct call from member", cn);&l

96、t;/p><p>  SqlDataReader dr = cmd.ExecuteReader();</p><p>  while (dr.Read()){</p><p>  comboBox2.Items.Add(dr[0].ToString());</p><p>  comboBox5.Items.Add(dr[0].ToString(

97、));</p><p><b>  }</b></p><p>  cn.Close();</p><p><b>  }</b></p><p>  收入項(xiàng)目管理界面主要代碼:</p><p>  1、點(diǎn)擊“添加“按鈕時,觸發(fā)button1_Click事件,向income表

98、中添加一條信息,并在dataGridView中顯示,代碼如下:</p><p>  private void button1_Click(object sender, EventArgs e) //添加收入項(xiàng)目</p><p><b>  {</b></p><p>  String str = String.Format("ins

99、ert into income values('{0}','{1}','{2}',{3},'{4}')", comboBox1.Text.Trim(), textBox1.Text.Trim(), comboBox2.Text.Trim(), textBox2.Text.Trim(), dateTimePicker2.Text.Trim());</p>

100、<p>  cmdIn = new SqlCommand(str, cn);</p><p><b>  try{</b></p><p>  cn.Open();</p><p>  cmdIn.ExecuteNonQuery();</p><p>  MessageBox.Show("添加成功

101、!");</p><p>  displayIncome();</p><p><b>  }</b></p><p>  catch (SqlException ex){</p><p>  MessageBox.Show(ex.Message);</p><p><b> 

102、 }</b></p><p><b>  finally{</b></p><p>  cn.Close();</p><p><b>  }</b></p><p><b>  }</b></p><p>  2、點(diǎn)擊“修改“按鈕時,觸發(fā)b

103、utton2_Click事件,修改income表中的某條信息,并在dataGridView中顯示,代碼如下:</p><p>  private void button2_Click(object sender, EventArgs e) //修改收入項(xiàng)目</p><p><b>  {</b></p><p>  String str =

104、String.Format("update income set inproName='"+textBox1.Text.Trim()+"',call='"+comboBox2.Text.Trim()+"',inmoney='"+textBox2.Text.Trim()+"',indata='"+date

105、TimePicker2.Text.Trim()+"' where inproID='"+comboBox1.Text.Trim()+"'");</p><p>  cmdIn = new SqlCommand(str, cn);</p><p><b>  try{</b></p><

106、p>  cn.Open();</p><p>  cmdIn.ExecuteNonQuery();</p><p>  MessageBox.Show("修改成功!");</p><p>  displayIncome();</p><p><b>  }</b></p><

107、p>  catch (SqlException ex){</p><p>  MessageBox.Show(ex.Message);</p><p><b>  }</b></p><p><b>  finally{</b></p><p>  cn.Close();</p>

108、<p><b>  }</b></p><p><b>  }</b></p><p>  3、點(diǎn)擊“刪除“按鈕時,觸發(fā)button3_Click事件,從income表中刪除一條信息,并在dataGridView中顯示,代碼如下:</p><p>  private void button3_Click(obj

109、ect sender, EventArgs e) //刪除收入項(xiàng)目</p><p><b>  {</b></p><p>  String str = String.Format("delete from income where inproID= '" + comboBox1.Text.Trim()+"'"

110、);</p><p>  cmdIn = new SqlCommand(str, cn);</p><p><b>  try{</b></p><p>  cn.Open();</p><p>  cmdIn.ExecuteNonQuery();</p><p>  MessageBox.Sho

111、w("刪除成功!");</p><p>  displayIncome();</p><p><b>  }</b></p><p>  catch (SqlException ex){</p><p>  MessageBox.Show(ex.Message);</p><p&g

112、t;<b>  }</b></p><p><b>  finally{</b></p><p>  cn.Close();</p><p><b>  }</b></p><p><b>  }</b></p><p>  支出項(xiàng)

113、目管理界面主要代碼:</p><p>  1、點(diǎn)擊“添加“按鈕時,觸發(fā)button5_Click事件,向outcome表中添加一條信息,并在dataGridView中顯示,代碼如下:</p><p>  private void button5_Click(object sender, EventArgs e) //添加支出項(xiàng)目</p><p><b>

114、  {</b></p><p>  String str = String.Format("insert into outcome values('{0}','{1}','{2}',{3},'{4}')", comboBox6.Text.Trim(), textBox4.Text.Trim(), comboBox5.T

115、ext.Trim(), textBox3.Text.Trim(), dateTimePicker1.Text.Trim());</p><p>  cmdOut= new SqlCommand(str, cn);</p><p><b>  try{</b></p><p>  cn.Open();</p><p>  

116、cmdOut.ExecuteNonQuery();</p><p>  MessageBox.Show("添加成功!");</p><p>  displayOutcome();</p><p><b>  }</b></p><p>  catch (SqlException ex){</p&

117、gt;<p>  MessageBox.Show(ex.Message);</p><p><b>  }</b></p><p><b>  finally{</b></p><p>  cn.Close();</p><p><b>  }</b></p

118、><p><b>  }</b></p><p>  2、點(diǎn)擊“修改“按鈕時,觸發(fā)button6_Click事件,修改outcome表中的某條信息,并在dataGridView中顯示,代碼如下:</p><p>  private void button6_Click(object sender, EventArgs e) //修改支出項(xiàng)目<

119、;/p><p><b>  {</b></p><p>  String str = String.Format("update outcome set outproName='" + textBox4.Text.Trim() + "',call='" + comboBox5.Text.Trim() + &q

120、uot;',outmoney='" + textBox3.Text.Trim() + "',outdata='" + dateTimePicker1.Text.Trim() + "' where outproID='" + comboBox6.Text.Trim() + "'");</p><

121、p>  cmdOut= new SqlCommand(str, cn);</p><p><b>  try{</b></p><p>  cn.Open();</p><p>  cmdOut.ExecuteNonQuery();</p><p>  MessageBox.Show("修改成功!&quo

122、t;);</p><p>  displayOutcome();</p><p><b>  }</b></p><p>  catch (SqlException ex){</p><p>  MessageBox.Show(ex.Message);</p><p><b>  }&l

123、t;/b></p><p><b>  finally{</b></p><p>  cn.Close();</p><p><b>  }</b></p><p><b>  }</b></p><p>  3、點(diǎn)擊“刪除“按鈕時,觸發(fā)butto

124、n7_Click事件,從outcome表中刪除一條信息,并在dataGridView中顯示,代碼如下:</p><p>  private void button7_Click(object sender, EventArgs e) //刪除支出項(xiàng)目</p><p><b>  {</b></p><p>  String str = Str

125、ing.Format("delete from outcome where outproID= '" + comboBox6.Text.Trim()+"'");</p><p>  cmdOut = new SqlCommand(str, cn);</p><p><b>  try{</b></p>

126、<p>  cn.Open();</p><p>  cmdOut.ExecuteNonQuery();</p><p>  MessageBox.Show("刪除成功!");</p><p>  displayOutcome();</p><p><b>  }</b></p&g

127、t;<p>  catch (SqlException ex){</p><p>  MessageBox.Show(ex.Message);</p><p><b>  }</b></p><p><b>  finally{</b></p><p>  cn.Close();<

128、;/p><p><b>  }</b></p><p><b>  }</b></p><p><b>  1.4.5儲蓄管理</b></p><p>  1.4.5.1 銀行賬戶管理</p><p>  在主界面中選擇【儲蓄管理】|【銀行賬戶管理】命令菜單

129、,即可進(jìn)入銀行賬戶管理界面,如圖1-9所示。</p><p>  圖1-9 銀行賬戶管理界面</p><p>  銀行賬戶管理界面主要代碼:</p><p>  1、窗體加載時觸發(fā)Form6_Load事件,通過該事件向dataGridView控件中填入bank表的內(nèi)容,代碼如下:</p><p>  void display()</p&

130、gt;<p><b>  {</b></p><p>  ds.Clear();</p><p>  SqlCommand cmd = new SqlCommand("select bankID '銀行賬號',bankName '銀行名稱',call '開戶人',money '存款金額&#

131、39;,data '開戶日期'from bank", cn);</p><p>  SqlDataAdapter da = new SqlDataAdapter(cmd);</p><p>  da.Fill(ds, "bank");</p><p>  dataGridView1.DataSource = ds.Tab

132、les["bank"];</p><p><b>  }</b></p><p>  private void Form6_Load(object sender, EventArgs e)</p><p><b>  {</b></p><p>  display();</

133、p><p>  cn.Open();</p><p>  comboBox1.DataBindings.Add("Text", ds.Tables["bank"], ds.Tables["bank"].Columns["銀行賬號"].ColumnName);</p><p>  comboB

134、ox2.DataBindings.Add("Text", ds.Tables["bank"], ds.Tables["bank"].Columns["銀行名稱"].ColumnName);</p><p>  comboBox3.DataBindings.Add("Text", ds.Tables["ba

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論