一、類文件的編寫及使用。
可以單獨建立一個類文件(使用記事本),然后包含在項目中,使用時加上該類的命名空間,就可以使用這個類了。
如何在一個項目里包含一個類文件?
1.在項目里新建一個文件夾;
2.將類文件放在這個文件夾里;
3.在vs界面的解決方案資源管理器里,點擊“顯示全部文件”按鈕,然后選中這些文件,右擊—>”包含在項目里”;
4.在項目的其他地方引用命名空間后,就可以使用這些類了。
二、登錄窗口的制作
我們可以借助一個類文件生成器(Code Smith),幫助我們制作需要的類,下面的是使用Code Smith連接數據庫的表后,根據模板生成的類。
點擊登陸
//點擊登陸按鈕 private void button1_Click(object sender, EventArgs e) { string userName = textUser.Text; string PWD = textPWD.Text; //調用方法,訪問數據庫,核對數據 LoginData data= new LoginDA().Select(userName ,PWD); //如果訪問到數據,彈出主窗口 if (data != null) { Main f = new Main(); f.Show(); } else { MessageBox.Show("登錄失敗"); } }
三、捕獲異常
這是一個類文件里的查詢數據方法,
把可能出現問題的步驟放在try里面,如果有異常(比如,連接數據庫出現網絡問題),進入catch,我們可以選擇拋出此異常或其他操作。finally里面是不受異常影響,總是執行的語句。
//根據輸入的用戶名、密碼訪問數據庫 public LoginData Select(string userName,string PWD) { LoginData data = null; _Cmd.CommandText = "select * from login where userName = @userName and userPwd=@userPwd"; _Cmd.Parameters.Clear(); _Cmd.Parameters.AddWithValue("@userName", userName); _Cmd.Parameters.AddWithValue("@userPwd", PWD); try { _Conn.Open(); SqlDataReader dr = _Cmd.ExecuteReader(); while (dr.Read()) { data = new LoginData(); data.UserName = (String)dr["userName"]; data.UserPwd = (String)dr["userPwd"]; data.UserIdentity = (String)dr["userIdentity"]; } dr.Close(); dr.Dispose(); } catch (Exception ex) { throw ex; } finally { _Conn.Close(); _Cmd.Dispose(); _Conn.Dispose(); } return data; }
下面是關閉數據庫服務后,調用上面方法的結果(拋出異常)
三、隱藏登錄窗口
if (data != null) { Main f = new Main(); this.Visible = false;//設置登錄窗口不可見 this.Owner = f;//設置為main窗口的子窗口,main窗口關后,登錄窗口也跟着關閉 f.WindowState = FormWindowState.Maximized;//登錄后,主窗口最大化 f.Show(); }
四、在主窗口實現“歡迎您,xxx”
效果圖
代碼:
重寫Main窗口的構造函數
創建Main窗口時,將用戶名傳給構造函數







