拆解"學生信息管理系統"

自個兒瞎學,希望不會有人被帶歪

C#下結合Sqlserver2008的學生信息管理系統http://download.csdn.net/download/bidlin/9365037


嗯,依然不會C#

本人使用vs2013社區版,編譯運行流暢

右鍵出設計器

//frm_logn

//Properties

//引用

//Resources

//app.config

//(20行)student_grade.cs(這是個廢窗體,代碼窗體都是空的)

(??)denglu(這玩意兒應該沒啥用,都編寫調試完成了,也沒見用到它,簡稱順手添加的文件)

√(157行)Form1.cs(主登錄界面)

      建立窗體相似度99%(就序號不一樣)

      代碼的話,就是和其他窗體交互的代碼,標題居中的代碼,外加各種if else 的登錄判定;其他和couror_chaxun.cs差不多。

     √(75行)frm_Manager.cs(也就是點擊打開的七個事件,對應下面的六個窗體,外加一個關閉函數)

                √((80行)mamager_student_xiugai.cs(嗯,真的是mamager,恩,mamager從頭用到尾)

               (94行)manager_student_luru.cs

               (105行)manager_teacher_luru.cs(嗯,簡直就是上面的學生錄入,最後一句都不帶改的)

               (80行)manager_teacher_xiugai.cs

               (86行)manager_course_anpai.cs

               √(87行)couror_chaxun.cs(詳解在下面,其他頁面性質上差別不大) 

(87行)couror_chaxun.cs
窗體:
    添加窗體
    工具箱拖按鈕 
    屬性改名字大寫等等
    窗體這部分差不多一樣了
代碼:
   頭文件:
       我這邊多了個頭文件using System.Threading.Tasks;(先注掉,到時候再說,估計瞎拖的時候扔上去的,下回有沒有在做定論)
       少了個using System.Data.SqlClient;。。。嗯,就先貼上去吧,到時候再說。
   代碼:
      嗯,兩個按鈕兩個函數,很合理(我點了4個)
      刪了個函數,窗體全丟失,明天再說。
      注掉那個事件就可以了。
      ///////////////////////////////
      整個框:
              strConn = 本地;數據庫名稱;當前Windows 帳戶;
              建立連接;
             嗯,數據庫就不建了,一起用啊一起用
      所有課程:
              準備顯示可顯示全部內容;
              創建DataSet實例;
                    準備建立連接;
                            連接配置;
                            建立連接;
                                   準備建立命令;
                                   建立命令;
                                          建立數據適配器;
                                         使用Adapter填充ds;(try一下)
              建立表;
              填充表;
              數據源爲此表;
              清空ds;
      查詢該課程:
            查詢結果全要顯;
            建立數據庫連接;
               使用Adapter填充DataSet;DataSet將0表複製給table;定位此table;
                     或者拋出沒此課;
           清空DataSet;

      光見打開連接了c.Open(),沒見c.Close();c.Open()的作用域值得討論(嗯,改天再說);

    (156行)frm_Student.cs(雖然名字有些混亂,基本上重點代碼都被放在這個窗體裏了)

              函數太多了,需要整理;

             估計這個頁面修改太多次了,名字都亂寫的,還有各種註釋函數,空函數;

             label長爲0,找到廢了老大勁了。

              (63行)password_xiugai.cs

            (70行)student_info.cs

    (153行)frm_Teacher.cs

           //(63行)password_xiugai.cs(上面有,只不過這個窗體被重複利用) 

          (65行)teacher_infos.cs

                      關上連接了,以及重新打開;

                      可以不按數據庫表中順序傳數據了;

          (55行)teacher_luru.cs

          (77行)teacher_xiugai_grade.cs

                       後面倆窗體基本上盲打

(21行)Program.cs(看着挺重要的,到時候再說)(待施工;明天研究下主函數順便調調BUG就完結了)

             挺重要的,雖然代碼挺少,但每行都值得查一下,所以內容較多,放到了另外的帖子裏頭。

///////////////////////////////////////////////

編譯運行修了一天的BUG;

大概就是

多了個空格;

單詞拼錯;

連接配置的不同寫法;

圖片沒插;

密碼沒隱藏爲*;

忘寫最後一句導致結果沒出現在窗體上;

類型轉換等;

大部分都在sql語句中,畢竟編寫的時候編譯軟件就已經檢查語法拼寫了,字符串就跳過了。

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

               (86行)manager_course_anpai.cs

              try
                {
			SqlDataReader reader = cmd.ExecuteReader();
                    	int t = 0;
			if(reader.HasRows)
                    	{
                        	while(reader.Read())
				{
                            		string s = (string)reader.GetValue(0);
                            		if(tb_teacher.Text.ToString().Equals(s))
                            		{
                                		MessageBox.Show("添加重複!");
                                		t = 1;
                            		}
                        	}
                        	if(t == 0)
                        	{
                            		insert();
				}
			}
                    	else
                    	{
                        	insert();
                    	}
                    	reader.Close();
		}
                catch
                {
                    insert();
                }
		//不知道catch成立的條件和原因。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章