使用C#開發資料庫應用系統

来源:http://www.cnblogs.com/weiguangyi/archive/2016/01/22/5152601.html
-Advertisement-
Play Games

第一章 初識Windows程式01.淺談控制台應用 解析:控制台應用程式:dos視窗中顯示 Windows窗體應用程式:有控制項參與的,支持事件的一種程式02.關於窗體項目的註意點: /*01.一個解決方案下可以包含多個項目, * 一個項目下可以包含多個窗體 * 02.如何設置一個項目下的某個窗體為啟...


 

 

第一章 初識Windows程式

01.淺談控制台應用

   解析:控制台應用程式:dos視窗中顯示

   Windows窗體應用程式:有控制項參與的,支持事件的一種程式

02.關於窗體項目的註意點:

            /*01.一個解決方案下可以包含多個項目,

             * 一個項目下可以包含多個窗體

             * 02.如何設置一個項目下的某個窗體為啟動窗體???

             * 解析:通過更改Program.csMain方法中最後一行代碼設置

             * 03.控制項的Name屬性相當於隱藏值,一定要改

             *    真正在窗體顯示內容的是Text屬性

             * 04.如果一個解決方案下有多個項目,如何設置某個項目為啟動項??

             * 解析:可以對項目點擊右鍵→設為啟動項

             * 05.機房的項目如何保存,或者保存後如何打開???

             * 解析:可以將解決方案另存為到指定的項目下,下次

             * 直接打開sln文件就可以了

             *

             * 06.事件激發錯誤問題???

              (這個正常,現在大家都事件的概念還不太理解,

             * 隨著學習的深入大家就會瞭解)

             * 解析:註意什麼時候激發事件

             *

             * 07.如何讓窗體運行後無法改變大小?

             * 解析:通過如下設置:

             * 01.禁用最大化按鈕

             * 02.設置FormBorderStyle屬性為任何一個以Fixed開頭的屬性都OK

             */                                                           

03..在VS中創建一個窗體後,所有的窗體都繼承自Form類

04.構造函數:

    解析:在一個類中,方法名和類名相同,並且沒有返回值類型的方法,稱為構造函數

    作用:做初始化工作

05.什麼是事件之事件詳解

    解析:由外界事物(獵槍)激發另一個事物(小鳥)的狀態發生改變的情況。

       //事件看起來像一個帶參方法,2個參數

        //sender:代表的是事件源:事件的激發者

        //e:事件的參數:和事件相關的一些信息!

06.窗體變色練習

 解析:事件(窗體的Click事件)

  This:當前窗體對象

  this.BackColor=Color.Red;

07.MessageBox(肯定出2分)

//01.參數一:提示信息

   //參數二:標題文本

   //參數三:按鈕設置

   //參數四:圖標設置

 MessageBox.Show("恭喜您,中獎500完,請吃飯可以嗎?","溫馨提示",MessageBoxButtons.YesNo,MessageBoxIcon.Warning);

Warning:

Information:

Error:

 

08.窗體傳值

  解析:從Login窗體傳遞登陸用戶名到Main窗體,可以在Main窗體中定義一個公有的變數,然後在Login窗體的登陸按鈕事件中編寫如下代碼:

  Main frm=new Main();

  frm.name=txtName.Text;

  frm.Show();

  然後在Main的load事件中為Label控制項賦值。

09.真正退出程式

   在窗體的FormClosing事件中,書寫Application.Exit();

10.多文本框為空驗證

01.在工具箱中的任何控制項都是一個類,一旦你將他拖動到Form窗體上,他就變成了一個對象,進而大家可以通過F4快捷鍵在屬性視窗中,給她的各個屬性賦值。

 

11.如何解決窗體已經關閉,但是整個應用沒有退出的問題?

解析:使用Application.Exit()  會出

12.練習重點

 01.窗體跳轉

   如何從窗體A跳轉到窗體B

 02.退出整個應用

 03.歡迎界面顯示歡迎您,微冷的雨

 

第2章 構建佈局良好的Windows程式

2015年11月21日13:45:24

01.登陸:

  Select count(1) from student

  Where studentname= and loginpwd=?;

02.向學生表中添加一條記錄。

03.單選按鈕

04.覆選按鈕

05.菜單欄(MenuStrip)

  快捷鍵

   方式一:打開(&F) ,缺點:必須先用alt+字元,先定位到一級菜單,然後按F定位到相應內容

  方式二:shortCutKeys    打開(Ctrl+F)。優點:可以跳過1級菜單,直接調用需要的視窗

和分割線

06.ToolStrip(工具欄)

01.整個控制項中所有項目的圖片和原圖片大小等同,需要設置imageScalingSize:

32x32 (整個控制項)

02.顯示圖像和文本選項:設置DisplayStyle的值為ImageAndText(單個Item)

03.圖像和文本的位置:TextImageRelation設置ImageBeforeText (單個Item)

07.窗體傳值

 

01.菜單欄(MenuStrip)

   設置快捷鍵方式:

    方式一:1.設置菜單項的Text屬性為(打開(&F)),

    首先必須按住alt+主菜單快捷鍵進入到對應的主菜單,

    然後直接按F就可以打開子窗體。

 

    方式二:通過菜單項的ShorCartKeys屬性設置。

     創建對應的組合鍵,可以在主界面直接按對應的

      字母鍵就可以打開子窗體

 分割線的畫法:

   01.插入分割線                                         

   02.輸入減號(-)

02.工具欄(ToolStrip)

 

   01.給工具欄項目設置圖片,首先圖片大小由整個ToolStrip來控制,

   設置    ImageScalingSize  值為圖片本身像素值。

   02.添加每一項目的類型為DropDownButton

   03.設置Text屬性為顯示的文本

   04.設置DisplayStyle屬性為ImageAndText,讓圖片和文本同時顯示

   05.TextImageRelation圖像與文本的相對位置

03. application.Exit()和this.close()

Application.Exit();//退出整個應用程式

this.Close();//關閉當前窗體

04.常見控制項的使用

   RadioButton

    DateTimerPicker

    GroupBox

    Panel

05.預留問題:如何讓DateTimePiker不顯示星期

06.Anchor和Dock屬性

   Anchor:讓控制項和窗體邊緣的位置保持固定的像素值。

   Dock:使控制項停靠在窗體的某個部位(Top,Bottom,Left,RIght),或者填充整個窗體(Fill)

07.設置MDI窗體

   001.將Main窗體的IsMdiContainer屬性設置為true

   002.在子窗體show()之前加上如下代碼:

       frm.MdiParent=this;//this代表當前窗體

面向對象提升:只要能通過點滑鼠設置屬性的地方,都可以通過代碼實現,但是代碼能實現的未必都能通過點滑鼠實現!

08.關於ReadOnly的那些事兒

    如果對TextBox設置了ReadOnly屬性,那麼設置字體前景色是不起作用的,必須設置BackColor為Control外的任意顏色即可。

09.如何將資料庫中Grade表中的數據綁定到下拉框中

解析:界面上年級下拉框中顯示的是年級名稱,而學生表中保存的是年級編號,怎麼搞??

解析:public int GetIdByName(string gradename)

    {

        string sql="select gradeid from grade where gradeName='"+gradename+"'";

       }

第3章 使用ListView控制項展示數據

 01.ListView初步

   步驟一:圖片來源於ImageList,在ImageList:

\

  步驟二:將ListView的兩個屬性和ImageList圖片源進行關聯

 

步驟三:給ListView控制項添加項

 

步驟四:設置ListView顯示的圖標類型

 

 

 

 

 

 

 

第4章 實現Windows程式的數據更新

01.枚舉類型

  001.枚舉是值類型

  002.枚舉本質上保存的是數字

  003.枚舉中不能有方法

  004.枚舉也是一種數據類型

  005.枚舉一般只用來定義有限個值(10個以內)

02.Timer控制項

兩大屬性:Enabled:可以控制定時器開啟還是停止。

          Start():開啟定時器  Stop()停止定時器

           Interval:每隔多少毫秒執行一段代碼。

重要事件:Tick:你要重覆執行什麼代碼就寫到Tick事件中。

03.模態視窗和非模態視窗

 模態視窗:如果該視窗不關閉,那麼不能操作程式中的其他任何功能。ShowDialog()

 即時修改問題

 

 

 

 

 

第5章 實現Windows程式的數據綁定

01.會用新的方式載入年級下拉框。

02.會使用DataGridView控制項展示所有學員的信息

03.會使用DataAdapter和DataSet對象操作離線數據。

04.Dataset:保存在客戶端記憶體中的一個臨時資料庫。

 一個DataSet由多個DataTable組成。

 一個DataTable中可以有多行,每一行都是一個DataRow對象,每一列都是DataColumn對象。

5.“請選擇”能不能放到資料庫中形成一條記錄。

      

  登陸

  修改密碼

  主界面

  新增學員信息

  修改學員信息

  按姓名查詢學員信息

  成績管理

  刪除

  按年級查詢學員信息

DataAdapter和DataSet結合使用圖

 

 

 

第6章 數據篩選和排序

01.TreeView控制項

    *學習到了在一個TreeView控制項中,每一個節點的類型都是一個TreeNode。

       *預設情況下,會自動激活TreeVuew的根節點

       *獲取當前選中節點代碼:tvList.SelectedNode

 

       *獲取當前選中節點的根節點:tvList.SelectedNode.Parent(根節點對象)

       *統計TreeView控制項某個節點的深度,深度是從0開始的。獲取深度的屬性是

           lvList.SelectedNode.Level;

       *節點中如何添加圖片:ImageIndex(預設顯示的圖片) (SelectedImageIndex:選中後的圖片)

       *Tag:專門為程式員提供的編程介面,方便用戶對程式的操作 。Tag裡面可以存儲任意

       類型的數據,但是一個數據無論之前是什麼類型,一旦被放入到Tag屬性中,那麼就變成了

       Object類型,所以,取出Tag屬性值的時候要進行類型轉換。

       *AfterSelect事件,當選中某個節點後觸發的事件

02.DataView(類)

DataView dv=new DataView();

dv.RowFilter();

他說:我可以滿足你只和DB交互一次,後續所有的查詢操作(過濾)都由我來完成。

   *DataView幹啥的?

   解析:用來篩選數據集DataSet中某張表的數據,換句白話來說,就是取出學生表中

   一部分符合條件的數據,然後保存到DataView對象中。DataView只是客戶端保存數據的一個

   容器,和DataSet呀,DataTable呀!一樣。

   *DataSet和DataView和DataTable有什麼關係?

   解析:這裡有3分。

   DataSet包含多個DataTable。一個DataTable可以擁有多個DataView

   *DataRow有一個屬性叫RowFilter,可以對錶中的數據進行篩選過濾。

   dv.RowFilter="where後面的內容"; 例如:dv.RowFilter="gradeid="+gid+"";

  

 

2015年11月30日16:48:39

作業:

1.在根據年級名稱查詢學生信息窗體中,如下

 

右鍵菜單中有一項叫錄入成績

 

2.

 

3.清空

4.添加學生信息成功後,返回主鍵值。

第七章  航班系統   (周四下午前)

 

 

 

 

第八章 商品管理系統

 

 

  

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 我不是創客。我買了個 Beaglebone Black 來玩,主要是拿來學習。 入手前,看過好幾個樹莓派 (Raspi - 2 Model B)和 Beaglebone Black (BBB) 比較,網上很多都是翻譯自某一篇國外博文。事實上用起來之後,看了一點 BBB 的書之後,兩者的區別似乎不止博...
  • 玩玩mysql最新版本,體驗源碼安裝,教你進行主從配置,實現讀寫分離
  • 一、簡介 GitLab是利用 Ruby on Rails 一個開源的版本管理系統,實現一個自托管的Git項目倉庫,可通過Web界面進行訪問公開的或者私人項目。它擁有與Github類似的功能,能夠瀏覽源代碼,管理缺陷和註釋。可以管理團隊對倉庫的訪問,它非常易於瀏覽提交過的版本並提供一個文件歷史庫。團隊...
  • 該隨筆為個人原創,後期會根據項目實踐實時更新,如若轉載,請註明出處,方便大家獲得最新博文!註:安裝Nginx需要Linux系統已經安裝openssl-fips-2.0.2.tar.gzzlib-1.2.7.tar.gzpcre-8.21.tar.gz第一步:從http://nginx.org/dow...
  • 1、配置redis master,redis slave(配置具體操作見上文http://www.cnblogs.com/wangchaozhi/p/5140469.html)。redis master ip:127.0.0.1:port 6379(預設配置文件即可)redis slave1 ip:...
  • 作為一個網站開發者,使用asp.net開髮網站,由於添加功能模塊不便利,所以我開始學習mvc框架。 今天是我學習mvc框架的第一天,首先就是連接EF連接資料庫(Sql Server2012資料庫),下麵我使用圖片和文字來描述我的過程。1.首先創建控制台應用程式(使用的框架是4.5),然後再控制...
  • https://ajaxcontroltoolkit.codeplex.com/警告 7 未能找到引用的組件“Antlr3.Runtime”。 警告 6 未能找到引用的組件“HtmlAgilityPack”。 警告 10 未能找到引用的組件“HtmlAgilityPack”。 警告 1 未能找到引用...
  • 10-9. 在多對多關係中為插入和刪除使用存儲過程問題想要在一個無載荷的多對多關係中使用存儲過程(存儲過程隻影響關係的連接表)解決方案假設有一個多對多關係的作者( Author)表和書籍( Book)表. 用連接表AuthorBook來做多對多關係,如 Figure 10-11.所示:Figure ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...