報告題名 : 應用程式設計 ( 班級通訊錄管理系統 ) 作者 : 陳詩婷系級 : 工業工程與系統管理學系學號 :D9326611 開課老師 : 陳亭志課程名稱 : 應用程式設計開課系所 : 工業工程與系統管理學系開課學年 : 九十四學年度第一學期
目錄一 班級通訊錄管理系統的執行畫面 2 二 瀏覽資料的執行畫面 3 三 查詢 / 刪除資料的執行畫面 4 A. 查詢資料 5 B. 查無資料 6 C. 刪除資料 7 四 修改資料的執行畫面 8 五 統計資料的執行畫面 9 六 方案總管 11 七 班級通訊錄管理系統的程式碼 12 八 瀏覽資料的程式碼 14 九 查詢 / 刪除資料的程式碼 15 十 修改資料的程式碼 19 十一 統計資料的程式碼 22 十二 心得 25 1 逢甲大學學生報告 epaper(2005 年 )
一 班級通訊錄管理系統的執行畫面 2 逢甲大學學生報告 epaper(2005 年 )
二 瀏覽資料的執行畫面 3 逢甲大學學生報告 epaper(2005 年 )
三 查詢 / 刪除資料的執行畫面 4 逢甲大學學生報告 epaper(2005 年 )
A. 查詢資料 : 5 逢甲大學學生報告 epaper(2005 年 )
B. 查無資料 : 6 逢甲大學學生報告 epaper(2005 年 )
C. 刪除資料 : 7 逢甲大學學生報告 epaper(2005 年 )
四 修改資料的執行畫面 8 逢甲大學學生報告 epaper(2005 年 )
五 統計資料的執行畫面 9 逢甲大學學生報告 epaper(2005 年 )
10 逢甲大學學生報告 epaper(2005 年 )
六 方案總管 11 逢甲大學學生報告 epaper(2005 年 )
七 班級通訊錄管理系統的程式碼 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim form21 As New Form2 ' 點選之後可以從首頁進入到瀏覽資料的表單 ' form21.show() Me.Hide() Private Sub Form1_Closed(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Closed End ' 關閉 ' Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click End ' 點選離開系統及可離開 ' Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click Dim form31 As New Form3 ' 點選之後即可從首頁進入到查詢 / 刪除資料的表單 ' form31.show() Me.Hide() Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click Dim form41 As New Form4 ' 點選之後即可從首頁進入到修改資料的表單 ' form41.show() Me.Hide() Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click 12 逢甲大學學生報告 epaper(2005 年 )
單 ' Dim form51 As New Form5 ' 點選之後即可從首頁進入到統計資料的表 form51.show() Me.Hide() End Class 13 逢甲大學學生報告 epaper(2005 年 )
八 瀏覽資料的程式碼 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim form11 As New Form1 ' 回到主畫面 ' form11.show() Me.Hide() Private Sub Form2_Closed(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Closed End ' 離開 ' Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load OleDbDataAdapter1.Fill(DataSet11) ' 產生資料集 ' Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click End ' 點選離開系統即可離開 ' 14 逢甲大學學生報告 epaper(2005 年 )
九 查詢 / 刪除資料的程式碼 Dim 已查詢 As Integer Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim q1 As String ' 查詢資料. 輸入姓名點查詢按鈕即可查詢到所需資料 ' q1 = "select * from 資料表 where 姓名 ='" + TextBox1.Text + "'" DataSet21.Clear() OleDbDataAdapter1.SelectCommand.CommandText = q1 OleDbDataAdapter1.Fill(DataSet21) If DataSet21.Tables(0).Rows.Count > 0 Then ' 如果輸入錯誤或資料裡沒有此姓名將無法顯示查詢資料 ' TextBox2.Text = DataSet21.Tables(0).Rows(0)(7) TextBox3.Text = DataSet21.Tables(0).Rows(0)(4) TextBox4.Text = DataSet21.Tables(0).Rows(0)(1) TextBox5.Text = DataSet21.Tables(0).Rows(0)(6) TextBox6.Text = DataSet21.Tables(0).Rows(0)(2) TextBox7.Text = DataSet21.Tables(0).Rows(0)(0) Else Label8.Text = " 無符合的資料 " ' 查詢錯誤或沒有輸入姓名會出現這樣的文字 ' End If Private Sub Form3_Closed(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Closed End ' 離開 ' Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim form11 As New Form1 ' 回到主畫面 ' form11.show() Me.Hide() 15 逢甲大學學生報告 epaper(2005 年 )
Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load OleDbDataAdapter1.Fill(DataSet21) ' 產生資料集 ' Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress If Asc(e.KeyChar) = 13 Then ' 查詢資料. 輸入姓名按 Enter 鍵即可查詢到所需資料 ' Dim q1 As String q1 = "select * from 資料表 where 姓名 ='" + TextBox1.Text + "'" DataSet21.Clear() OleDbDataAdapter1.SelectCommand.CommandText = q1 OleDbDataAdapter1.Fill(DataSet21) If DataSet21.Tables(0).Rows.Count > 0 Then TextBox2.Text = DataSet21.Tables(0).Rows(0)(7) TextBox3.Text = DataSet21.Tables(0).Rows(0)(4) TextBox4.Text = DataSet21.Tables(0).Rows(0)(1) TextBox5.Text = DataSet21.Tables(0).Rows(0)(6) TextBox6.Text = DataSet21.Tables(0).Rows(0)(2) TextBox7.Text = DataSet21.Tables(0).Rows(0)(0) 已查詢 = 1 Else Label8.Text = " 無符合的資料 " ' 輸入無效值會出現此字串 ' 已查詢 = 0 End If End If Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click TextBox1.Text = ""' 點選清空之後將會把所有資料清空 ' TextBox2.Text = "" TextBox3.Text = "" 16 逢甲大學學生報告 epaper(2005 年 )
TextBox4.Text = "" TextBox5.Text = "" TextBox6.Text = "" TextBox7.Text = "" Label8.Text = "" Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click End ' 點選離開系統及可離開 ' Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click If 已查詢 = 0 Then MsgBox(" 你尚未查詢!", MsgBoxStyle.Information, " 系統提示 ") ' 如未查詢資料會告知你尚未查詢 ' Return End If Dim q0, q1 As String ' 刪除資料 ' q0 = "select * from 資料表 " q1 = "delete from 資料表 where 姓名 ='" + TextBox1.Text + "'" OleDbDataAdapter1.DeleteCommand.CommandText = q1 OleDbDataAdapter1.DeleteCommand.Connection.Open() OleDbDataAdapter1.DeleteCommand.ExecuteNonQuery() OleDbDataAdapter1.DeleteCommand.Connection.Close() MsgBox(" 資料已刪除!", MsgBoxStyle.Information, " 查詢 / 刪除資料資料 ") ' 資料以刪除會告知資料已刪除 ' DataSet21.Clear() OleDbDataAdapter1.Fill(DataSet21) OleDbDataAdapter1.DeleteCommand.CommandText = q0 TextBox1.Text = "" ' 刪除後資料會清空 ' TextBox2.Text = "" TextBox3.Text = "" 17 逢甲大學學生報告 epaper(2005 年 )
TextBox4.Text = "" TextBox5.Text = "" TextBox6.Text = "" TextBox7.Text = "" Label8.Text = "" 已查詢 = 0 End Class 18 逢甲大學學生報告 epaper(2005 年 )
十 修改資料的程式碼 Dim 已查詢 As Integer Private Sub Form4_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load OleDbDataAdapter1.Fill(DataSet11) ' 產生資料集 ' 已查詢 = 0 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click If 已查詢 = 0 Then MsgBox(" 你尚未查詢!", MsgBoxStyle.Information, " 修改資料 ") ' 如未查詢資料會告知你尚未查詢 ' Return End If Dim q1 As String ' 修改資料 ' q1 = "update 資料表 set 學號 ='" + TextBox2.Text + "', 性別 ='" + TextBox3.Text + "', 生日 ='" + TextBox4.Text + "', 電話 ='" + TextBox5.Text + "', 地址 ='" + TextBox6.Text + "' where 姓名 ='" + TextBox1.Text + "'" OleDbDataAdapter1.UpdateCommand.CommandText = q1 OleDbDataAdapter1.UpdateCommand.Connection.Open() OleDbDataAdapter1.UpdateCommand.ExecuteNonQuery() OleDbDataAdapter1.UpdateCommand.Connection.Close() MsgBox(" 已更新成功!", MsgBoxStyle.Information, " 修改資料 ") ' 直接更改後點選更新按鈕將會告知已更新成功 ' Private Sub Form4_Closed(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Closed End ' 離開 ' Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim form11 As New Form1 ' 回到主畫面 ' form11.show() Me.Hide() 19 逢甲大學學生報告 epaper(2005 年 )
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click TextBox1.Text = "" ' 點選清空之後將會把所有資料清空 ' TextBox2.Text = "" TextBox3.Text = "" TextBox4.Text = "" TextBox5.Text = "" TextBox6.Text = "" TextBox7.Text = "" Label8.Text = "" 已查詢 = 0 Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress If Asc(e.KeyChar) = 13 Then ' 查詢資料. 輸入姓名按 Enter 鍵即可查詢到所需資料 ' Dim q1 As String q1 = "select * from 資料表 where 姓名 ='" + TextBox1.Text + "'" DataSet11.Clear() OleDbDataAdapter1.SelectCommand.CommandText = q1 OleDbDataAdapter1.Fill(DataSet11) If DataSet11.Tables(0).Rows.Count > 0 Then TextBox2.Text = DataSet11.Tables(0).Rows(0)(2) TextBox3.Text = DataSet11.Tables(0).Rows(0)(4) TextBox4.Text = DataSet11.Tables(0).Rows(0)(5) TextBox5.Text = DataSet11.Tables(0).Rows(0)(7) TextBox6.Text = DataSet11.Tables(0).Rows(0)(6) TextBox7.Text = DataSet11.Tables(0).Rows(0)(8) 已查詢 = 1 Else Label8.Text = " 無符合的資料 " ' 輸入無效值會出現此字串 ' 已查詢 = 0 End If 20 逢甲大學學生報告 epaper(2005 年 )
End If Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click End ' 點選離開系統及可離開 ' End Class 21 逢甲大學學生報告 epaper(2005 年 )
十一 統計資料的程式碼 Dim 男生人數, 女生人數 As Integer Dim 城市名稱 () = {" 台北縣 ", " 新竹市 ", " 桃園縣 ", " 台中市 "} Dim 城市人數 () = {0, 0, 0} Private Sub Form5_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load OleDbDataAdapter1.Fill(DataSet41) ' 產生資料集 ' 男生人數 = 0 女生人數 = 0 Dim i, j As Integer For i = 1 To DataSet41.Tables(0).Rows.Count If DataSet41.Tables(0).Rows(i - 1)(4) = " 男 " Then 男生人數 += 1 Else 女生人數 += 1 End If Next For i = 1 To DataSet41.Tables(0).Rows.Count For j = 0 To 3 If Mid(DataSet41.Tables(0).Rows(i - 1)(7), 1, 3) = 城市名稱 (j) Then 城市人數 (j) += 1 End If Next Next Private Sub Form5_Closed(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Closed End ' 離開 ' 22 逢甲大學學生報告 epaper(2005 年 )
Private Sub MenuItem5_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles MenuItem5.Click Dim form11 As New Form1 ' 回到主畫面 ' form11.show() Me.Hide() Private Sub MenuItem2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem2.Click Dim 男生比例, 女生比例 As Single ' 點選依性別區分後會出現圓餅圖顯示男女的比例 ' 男生比例 = 男生人數 / ( 男生人數 + 女生人數 ) 女生比例 = 1 - 男生比例 Dim g1 As Graphics g1 = Me.CreateGraphics Dim b1, b2 As Brush b1 = Brushes.Blue b2 = Brushes.Red g1.clear(me.backcolor) 生比例 ) g1.fillpie(b1, 50, 50, 150, 150, 270, 360 * 男生比例 ) g1.fillpie(b2, 50, 50, 150, 150, 270 + 360 * 男生比例, 360 * 女 g1.fillrectangle(b1, 210, 50, 40, 20) g1.fillrectangle(b2, 210, 80, 40, 20) g1.drawstring(" 男生 ", Me.Font, Brushes.Black, 255, 50) g1.drawstring(" 女生 ", Me.Font, Brushes.Black, 255, 80) g1.dispose() Private Sub MenuItem3_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles MenuItem3.Click 23 逢甲大學學生報告 epaper(2005 年 )
Dim i, y, h As Integer ' 點選依城市區分後會出現長條圖顯示居住城市的比例 ' Dim g1 As Graphics g1 = Me.CreateGraphics Dim p1 As Pen p1 = New Pen(Color.Black, 2) Dim b1 As Brush b1 = Brushes.Blue g1.clear(me.backcolor) g1.drawline(p1, 20, 10, 20, 200) g1.drawline(p1, 20, 200, 260, 200) For i = 0 To 3 y = 200 - Int(190 * 城市人數 (i) / 20) h = (190 * 城市人數 (i) / 20) g1.fillrectangle(b1, 40 + 60 * i, y, 40, h) g1.drawstring( 城市名稱 (i), Me.Font, b1, 40 + 60 * i, 210) Next g1.dispose() Private Sub MenuItem6_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles MenuItem6.Click End ' 點選離開系統即可離開 ' End Class 24 逢甲大學學生報告 epaper(2005 年 )
十二 心得 : 經過這一學期的期間, 在每個禮拜 3 堂應用程式設計的課程中, 學到了一些較為實用的程式, 比如 : 應用在菜單上 計算分數 猜謎遊戲 彈力球 ; 尤其是小孩子玩的接球遊戲更是利用彈力球的延伸 製作的班級通訊錄更是一個很實用的東西, 將個人的基本資料做成了一個資料表, 在利用此資料表做成表單, 可瀏覽資料 查詢或刪除資料 修改資料, 也可繪圖做成統計資料圖之用 因為以前都沒有學過 VB, 因此經過一個學期的學習, 覺得自己學到很多以前所不知道的事, 也對電腦不在那麼陌生與害怕, 知道了電腦原來也可以這麼有趣 不過面對電腦就一竅不通的我, 竟然可以將 VB 學的還不錯, 如果還可以繼續學, 我希望能夠在學點實用的東西, 但也希望能夠是我所能理解的 在學習當中, 雖然覺得學習是有趣的, 但還是會害怕考試 ; 可是, 沒有想到的是, 在此課程期中考時, 因為能夠理解, 所以準備起來也較為輕鬆多了, 面對考試的內容也可以很熟悉的寫入正確的程式 然而, 在一開始面對 VB 時, 其實還有點怕怕的, 爲什麼會說我自己對電腦一竅不通呢? 並不是我是一個電腦白痴, 而是在大一的時候, 我曾因 C 語言吃過許多的苦頭, 所以自此之後, 我對電腦的信心可說是失去一半了! 想不到的是, 把 VB 學的還不錯的我, 面對電腦的信心可說是吃了大補丸了! 現在的我, 面對電腦開始懂的理解, 也讓自己充實不少了 25 逢甲大學學生報告 epaper(2005 年 )
1 逢甲大學學生報告 epaper(2005 年 )