

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 《數(shù)據(jù)庫原理及應用》課程設計</p><p><b> 設計報告</b></p><p><b> 摘要:</b></p><p> 家庭理財系統(tǒng),即Family Conduct Financial Transactions System。它利用計算機應用技術,使家庭理財逐步信息化,從而形成由家
2、庭成員與計算機共同構成服務于家庭的人機信息財務管理系統(tǒng)。隨著計算機發(fā)展,家庭理財系統(tǒng)已經(jīng)成為很多家庭財務管理的一個重要途徑。計算機的最大優(yōu)點在于利用它能夠高效準確地進行財務信息管理。使用計算機進行信息財務管理,不僅提高了工作效率,而且大大的提高了其安全性。家庭財務管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護以及前端應用程序的開發(fā)兩個方面。對于前者要求建立起數(shù)據(jù)一致性和完整性強、數(shù)據(jù)安全性好的庫。而對于后者
3、則要求應用程序功能完備,易使用等特點。</p><p> 關鍵字:家庭理財;數(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 家庭理財管理2</p><p> 1.1 需求分析2</p><p> 1.2 數(shù)據(jù)庫概念結構設計3</p><p> 1.2.1 概念結構設計3</p><p> 1.2.2
7、 數(shù)據(jù)庫設計5</p><p> 1.3 系統(tǒng)功能模塊設計6</p><p> 1.3.1 系統(tǒng)功能模塊劃分6</p><p> 1.3.2 系統(tǒng)功能模塊圖7</p><p> 1.4 系統(tǒng)詳細設計7</p><p> 1.4.1 登錄界面設計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 基礎數(shù)據(jù)管理13</p><p> 1.4.4.1 家庭成員管理13</p><p> 1.4.4.2 收支項目管理15</p><p&
9、gt; 1.4.5儲蓄管理20</p><p> 1.4.5.1 銀行賬戶管理20</p><p> 1.4.6 理財分析23</p><p> 1.4.6.1 查詢明細23</p><p> 1.4.6.2 理財報告27</p><p> 1.4.7 幫助27</p><p
10、><b> 總結:28</b></p><p><b> 參考文獻28</b></p><p><b> 1 家庭理財管理</b></p><p><b> 1.1 需求分析</b></p><p> 長期以來人們使用傳統(tǒng)的大腦記憶方式
11、來管理家里的日常消費,這非常麻煩,靠大腦的記憶,只能記住很短的時間,所以常常為錢不知去向而煩惱。而有時常常會想不起一些消費記錄,家里的理財很是混亂。綜上所述,靠人腦記憶理財存在很大的不足。而家庭理財系統(tǒng)則為家庭解決了上述問題,提供了快速,直觀明了的理財過程,方便使用。家庭理財管理系統(tǒng)是針對用戶的要求,用計算機對自己的財務的收入、支出以及相關的各種信息,進行記錄、修改、添加、刪除而設計的一種現(xiàn)代化管理軟件。</p><
12、p> 通過需求分析,本系統(tǒng)需要具有以下功能:</p><p> (1)要求系統(tǒng)具有良好的人機界面。</p><p> (2)能夠完善家庭理財管理系統(tǒng)的各項功能,能成功的對用戶各種信息進行管理。</p><p> (3)查詢、修改、刪除、添加數(shù)據(jù)方便,數(shù)據(jù)的安全性和可靠性好。</p><p> (4) 系統(tǒng)最大限度地實現(xiàn)了易維護
13、性和易操作性。</p><p> 1.2 數(shù)據(jù)庫概念結構設計</p><p> 1.2.1 概念結構設計</p><p> 建立系統(tǒng)數(shù)據(jù)模型的主要工具是實體-聯(lián)系圖,即E-R圖。E-R圖的圖形符號約定如表1-1所示:</p><p> 表 1-1 E—R圖的圖形符號</p><p> 系統(tǒng)的E-R圖,如圖1-
14、1所示,每個實體及屬性如下:</p><p> 家庭成員:姓名、稱呼、密碼、出生日期</p><p> 收入記錄:收入項目編號、收入項目名稱、收入人員、收入金額、收入日期</p><p> 支出記錄:支出項目編號、支出項目名稱、支出人員、支出金額、支出日期</p><p> 銀行信息:銀行賬號、銀行名稱、開戶人、存款金額、開戶日期&l
15、t;/p><p> 家庭成員關系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ù)庫設計</p><p> 系統(tǒng)數(shù)據(jù)庫名為:財務管理,數(shù)據(jù)庫中包括:家庭成員表(member),收入記錄表(income),支出記錄表(outcome),銀行信息表(bank),各個表的數(shù)據(jù)結構如下表1-1~表1-4所示。</p><p> 表1-1家庭成員表(member)的數(shù)據(jù)結構</p><p> 表
17、1-2收入記錄表(income)的數(shù)據(jù)結構</p><p> 表1-3支出記錄表(outcome)的數(shù)據(jù)結構</p><p> 表1-4銀行信息表(bank)的數(shù)據(jù)結構</p><p><b> 表與表之間的關系:</b></p><p> 圖1-2 表與表的關系圖</p><p> 1
18、.3 系統(tǒng)功能模塊設計</p><p> 1.3.1 系統(tǒng)功能模塊劃分</p><p> 具體說來,要求本系統(tǒng)具有以下幾個功能模塊:用戶登錄模塊、用戶管理模塊、收入模塊、支出模塊、密碼管理模塊、賬目統(tǒng)計模塊、報表輸出模塊以及查詢模塊。</p><p> 各模塊具體的需求描述如下:</p><p> (1) 用戶登錄模塊</p&g
19、t;<p> 用戶登錄:驗證用戶的信息是否合法,以及驗證用戶是否為系統(tǒng)的合法用戶。</p><p><b> (2)用戶管理模塊</b></p><p> 在系統(tǒng)中主要包括添加用戶、刪除用戶、更改用戶、用戶修改密碼。</p><p> (3) 收支輸入模塊</p><p> 主要實現(xiàn)對收入和支出記
20、錄的添加、刪除、修改。</p><p> (6) 報表輸出模塊</p><p> 主要實現(xiàn)對收入、支出記錄的輸出及打印。</p><p><b> (7) 查詢模塊</b></p><p> 主要實現(xiàn)對收入、支出記錄按時間按類型查詢、消費提醒(實際消費額快接近預消費額)、收入、支出記錄的輸出。</p>
21、<p> 1.3.2 系統(tǒng)功能模塊圖</p><p> 圖1-3系統(tǒng)功能模塊結構圖</p><p> 1.4 系統(tǒng)詳細設計</p><p> 啟動Visual Studio 2008,選擇“文件”|“新建”|“項目”即命令,建立家庭理財管理應用程序。下面介紹各窗體的程序設計。</p><p> 1.4.1 登錄界面設計
22、</p><p> 登錄界面的作用就是判斷用戶身份的合法性。輸入用戶名和密碼,若用戶名、密碼正確,單擊[登錄系統(tǒng)]按鈕,即可進入主界面,否則不能進入。登錄界面效果,如圖1-4所示:</p><p> 圖 1-4 登錄界面</p><p> 該窗體中設計了2個TextBox控件和兩個Button控件。各個控件的名稱、作用如表4-7所示:</p>&
23、lt;p> 表1-5 登錄界面主要控件設計</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=財務管理;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> 當單擊“退出系統(tǒng)”按鈕時,觸發(fā)exitbtn_Click事件,關閉當前窗體。代碼如下:</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窗體設置為消隱,代碼如下:</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> 通過身份驗證后,進入系統(tǒng)主界面,如圖1-5所示,該主界面的作用就是顯示用戶所擁有的
35、所有的功能菜單項,當用戶單擊相應的菜單項時,打開對應的模塊窗口。</p><p> 圖 1-5 系統(tǒng)主界面</p><p> 系統(tǒng)主界面部分代碼:</p><p> 1、在主界面中選擇【系統(tǒng)管理】|【修改密碼】命令菜單,就會觸發(fā)修改密碼ToolStripMenuItem_Click事件,進入修改密碼界面。代碼如下:</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事,進入登錄界面。代碼如下:</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)管理】|【修改密碼】命令菜單,即可進入修改密碼界面,如圖1-6所示。該窗體中需要提供的信息包括:用戶名、密碼、確認密
41、碼。信息錄入后單擊“確認”按鈕,代碼如下:</p><p> 圖 1-6 修改密碼界面</p><p> 在該窗體中主要設計了4個TextBox控件、2個Button控件。各個控件的名稱、作用如表5-8所示。</p><p> 表1-6 添加管理員界面控件設計</p><p> 1、單擊“確認”按鈕時觸發(fā)button1_Click事件
42、,第一步判斷原密碼是否正確;若正確,第二步判斷兩次密碼是否相同;若相同則修改密碼。代碼如下:</p><p> private void button1_Click(object sender, EventArgs e) //確認</p><p><b> {</b></p><p> String pwd="";&
43、lt;/p><p> SqlConnection cn = new SqlConnection("data source=.;Initial Catalog=財務管理;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事件,關閉當前窗體。代碼如下:</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 基礎數(shù)據(jù)管理</p><p> 1.4.4.1 家庭成員管理</p><p> 在主界面中選擇【基礎數(shù)據(jù)管理】|【家庭成員管理】
55、命令菜單,即可進入家庭成員管理界面,如圖1-7所示。</p><p> 圖1-7 家庭成員管理</p><p> 家庭成員添加界面主要代碼:</p><p> 1、窗體加載時觸發(fā)Form4_Load事件,通過該事件向dataGridView控件中填入member表的內容,代碼如下:</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、點擊“添加“按鈕時,觸發(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、點擊“修改“按鈕時,觸發(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、點擊“刪除“按鈕時,觸發(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 收支項目管理</p><p> 在主界面中選擇【基礎數(shù)據(jù)管理】|【收支項目管理】命令菜單,即可進入收支項目管理界面,如圖1-8所示。</p><p> 圖 1-8 收支項目管理界面</p><p> 收支項目管理界面主要代碼:</p><p&g
81、t; 窗體加載時觸發(fā)Form5_Load事件,通過該事件向dataGridView控件中填入income和outcome表的內容,代碼如下:</p><p> private void displayIncome() </p><p><b> {</b></p><p> dsIn.Clear(); </p><p
82、> cmdIn = new SqlCommand("select distinct inproID '項目編號',inproName '項目名稱',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 '項目編號',outproName &
85、#39;項目名稱',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["項目編號"].ColumnName);</p><p> textBox1.DataBindings.Add("Text", dsIn.Tables["income"], dsIn.Tables["income"].Co
89、lumns["項目名稱"].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["項目編號"].ColumnName);</p><p> textBox4.DataBindings.Add("Text", dsOut.Tables["outcome"], dsOut.Tables["outcome"].Columns["項
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> 收入項目管理界面主要代碼:</p><p> 1、點擊“添加“按鈕時,觸發(fā)button1_Click事件,向income表
98、中添加一條信息,并在dataGridView中顯示,代碼如下:</p><p> private void button1_Click(object sender, EventArgs e) //添加收入項目</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、點擊“修改“按鈕時,觸發(fā)b
103、utton2_Click事件,修改income表中的某條信息,并在dataGridView中顯示,代碼如下:</p><p> private void button2_Click(object sender, EventArgs e) //修改收入項目</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、點擊“刪除“按鈕時,觸發(fā)button3_Click事件,從income表中刪除一條信息,并在dataGridView中顯示,代碼如下:</p><p> private void button3_Click(obj
109、ect sender, EventArgs e) //刪除收入項目</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> 支出項
113、目管理界面主要代碼:</p><p> 1、點擊“添加“按鈕時,觸發(fā)button5_Click事件,向outcome表中添加一條信息,并在dataGridView中顯示,代碼如下:</p><p> private void button5_Click(object sender, EventArgs e) //添加支出項目</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、點擊“修改“按鈕時,觸發(fā)button6_Click事件,修改outcome表中的某條信息,并在dataGridView中顯示,代碼如下:</p><p> private void button6_Click(object sender, EventArgs e) //修改支出項目<
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、點擊“刪除“按鈕時,觸發(fā)butto
124、n7_Click事件,從outcome表中刪除一條信息,并在dataGridView中顯示,代碼如下:</p><p> private void button7_Click(object sender, EventArgs e) //刪除支出項目</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、,即可進入銀行賬戶管理界面,如圖1-9所示。</p><p> 圖1-9 銀行賬戶管理界面</p><p> 銀行賬戶管理界面主要代碼:</p><p> 1、窗體加載時觸發(fā)Form6_Load事件,通過該事件向dataGridView控件中填入bank表的內容,代碼如下:</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)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【課程設計】家庭理財管理系統(tǒng)
- 課程設計——家庭理財管理系統(tǒng)
- 家庭理財管理系統(tǒng)——課程設計
- 課程設計--家庭理財系統(tǒng)
- 【課程設計】家庭理財系統(tǒng)
- 課程設計報告--家庭理財管理系統(tǒng)
- 課程設計--mfc家庭理財管理系統(tǒng)
- 家庭理財課程設計
- 家庭理財系統(tǒng)數(shù)據(jù)庫課程設計報告
- 家庭理財管理系統(tǒng)
- 數(shù)據(jù)庫原理課程設計報告--家庭理財系統(tǒng)
- 淺析家庭理財管理系統(tǒng)
- 家庭理財管理系統(tǒng).doc
- 家庭理財管理系統(tǒng)設計與開發(fā)
- 家庭理財管理系統(tǒng)畢業(yè)設計
- 家庭理財通管理系統(tǒng).doc
- c#家庭理財管理系統(tǒng)
- 家庭理財管理系統(tǒng)畢業(yè)設計2
- 軟件綜合課程設計--家庭理財工具的設計與實現(xiàn)
- 家庭理財系統(tǒng)設計開題報告
評論
0/150
提交評論