C連接后臺數(shù)據(jù)庫開發(fā)學(xué)生管理系統(tǒng)課程設(shè)計過程步驟細(xì)化到極致_第1頁
C連接后臺數(shù)據(jù)庫開發(fā)學(xué)生管理系統(tǒng)課程設(shè)計過程步驟細(xì)化到極致_第2頁
C連接后臺數(shù)據(jù)庫開發(fā)學(xué)生管理系統(tǒng)課程設(shè)計過程步驟細(xì)化到極致_第3頁
C連接后臺數(shù)據(jù)庫開發(fā)學(xué)生管理系統(tǒng)課程設(shè)計過程步驟細(xì)化到極致_第4頁
C連接后臺數(shù)據(jù)庫開發(fā)學(xué)生管理系統(tǒng)課程設(shè)計過程步驟細(xì)化到極致_第5頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、王L讓我們弄個課程設(shè)計,才講兩節(jié)課就撒手不管了.還說簡單,簡單個JR對他來說當(dāng)然簡單了,對我這樣的菜鳥來說簡直是難如登天,我相信像我這樣的菜鳥肯定還有,只有菜鳥才知道菜鳥的辛苦,為了讓這些菜鳥們不再辛苦了,我把所有的實驗過程一步一步都給寫了出來,細(xì)化到最簡單,只要是個人都能看懂的.不能保證我的過程都是對了,我也是摸著石 頭過了河,在菜鳥們還沒有看到橋的時候不妨也摸著石頭走一趟吧.下面步驟中的一些東西是本人的看法,如果錯了也不必吐糟,畢竟哥還是個初級菜鳥.【第一局部:創(chuàng)立數(shù)據(jù)庫】1,在自己的E盤建立一個名為課程設(shè)計數(shù)據(jù)庫的文件夾.2,翻開sql server 2022,點擊新建查詢,在右邊的編輯

2、框里輸入如下代碼?點擊執(zhí)行.create database studentonprimary(name=student_dat,課程設(shè)計數(shù)據(jù)庫student.mdf, size=5MB,maxsize=50, filegrowth=2MB) log on (name=教學(xué)治理數(shù)據(jù)庫_log,課程設(shè)計數(shù)據(jù)庫student.ldf, size=5MB,maxsize=100MB, filegrowth=2MB) gouse studentgoCREATE TABLE student(snoNVARCHAR(10) PRIMARY KEYsname NVARCHAR(8),ssexNVARCHAR(

3、1),sbirthday NVARCHAR(10) )create table userlogin (username NVARCHAR(8) primary key, password nvarchar(20) NOT NULL )insert into student values('2022001','許敏','女','1992/03/18') insert into student values'2022022','王鵬','男','1996/12/28'李小

4、紅,'女','1993/06/22,)張哲','男','1992/12/30')insert into student values('2022022','張壘','男','1988/01/13') insert into student values('2022022',' insert into student values('2022022','劉敏紅','女','1988/12/0

5、2')insert into student values('2022022','張強','男','1989/01/06') insert into student values('2022022, insert into userlogin values'admin','123456,insert into userlogin values'zhangsan','123456,insert into userlogin values'lisi',&#

6、39;123456,這里面有兩張表,一張是學(xué)生表,一張是登錄表,里面是用戶名和密碼.3,這是會發(fā)現(xiàn)在 E盤創(chuàng)立的文件家里出現(xiàn)了兩個文件,一個是數(shù)據(jù)庫文件一個是數(shù)據(jù)庫日志文件.就這樣后臺數(shù)據(jù)庫就創(chuàng)立好了.大家也可以根據(jù)自己的需要來修改【第二局部:創(chuàng)立登陸窗口】1,翻開isual studio 2022 ,文件?新建?工程.2,左邊點擊visual c#,右邊點擊window窗體應(yīng)用程序.3,名稱改為studentMIS ,位置根據(jù)自己情況而定.一定要在創(chuàng)立解決方案的目錄前面打鉤.4,這時界面有一個 Form1窗體了.下面我們要做的就是設(shè)置三層架構(gòu)了.簡單的說就是添 加三個類庫.5,三個類庫分別是

7、是BBL曜輯判斷層,我們一般用不到,也可以不添加 ,DAL 數(shù)據(jù)操作層,操作數(shù)據(jù)庫的代碼都寫在這里,MODEL 聯(lián)系層與層之間的關(guān)系6,點擊文件?添加?新建工程?類庫.名稱改為DAL.點擊文件?添加一-»新建工程一一?類庫.名稱改為MODEL.O這里不需要用到 BBL層,所以就不添加了.7,前面的步驟就把這次試驗的根本架構(gòu)弄好了,下面要弄的就是添加事件了,怎么登錄和 連接后臺數(shù)據(jù)庫,以及對數(shù)據(jù)庫的修改.8,展開用邊的 studentMIS,選中Form1,重命名為formlogin.cs,雙擊formlogin,點擊視圖 »屬性窗口.在出現(xiàn)的屬性窗口中將text后面的For

8、m1改為登錄.看看name后面 是否為formlogin,這就相當(dāng)與是這個登錄窗口的ID,唯一表示這個窗體,以后所創(chuàng)立的每一個窗體都有一個在試驗中唯一的名字來表示自己.9,下面來添加窗體的控件按鈕.點擊視圖?工具箱,展開所有windows窗體.左鍵單擊Label控件,按后把鼠標(biāo)放在我們登錄窗體中空白位置左鍵點擊一下,就會發(fā)現(xiàn)登錄窗體 中出現(xiàn)了一個label1的字樣,用同樣的方法就會發(fā)現(xiàn)出現(xiàn)了label2.鼠標(biāo)點中l(wèi)abel1 ,在屬性窗口將text后面的改為用戶名.鼠標(biāo)點中l(wèi)abel2 ,在屬性窗口中將text后面的改為密碼.10,在工具箱中找到 TextBox控件.同樣方法鼠標(biāo)單擊,然后在登

9、錄窗體中空白位置單擊鼠 標(biāo)左鍵,就會出現(xiàn)編輯框,用鼠標(biāo)左鍵選中編輯框,在屬性窗口中將 name后面的改為 txtboxusername.用同樣的方法再添加一個編輯框控件,在屬性窗口中將 name后面的改 為 txtboxpassword .11,現(xiàn)在添加按鈕控件,在工具箱中找到Button控件,左鍵單擊,然后在登錄窗體中的空白位置單擊左鍵,選中按鈕控件,在他的屬性窗口中將text后面的改為登錄,將name 后面的改為btnlogin.用同樣的方法再添加一個按鈕控件,講將 text后面的改為取消,將 (name)后面的改為 btncancel.12,經(jīng)過12個步驟我們就創(chuàng)立好了一個登陸窗口.【第

10、三局部:連接數(shù)據(jù)庫登陸】1,在建立數(shù)據(jù)庫的連接前先說一下本人對于這個連接后臺數(shù)據(jù)庫的原理的理解.在我們在 登陸窗口的編輯框里輸入用戶名和密碼后點擊登陸時,在登陸事件里我們通過MODEL層函數(shù)Userinformation將我們輸入的信息傳到DAL層白g getUserInformation函數(shù)內(nèi),該函數(shù)的功能是傳過來的信息與我們開始在后臺數(shù)據(jù)庫里保存的用戶名和密碼進(jìn)行比照,如果比照成功就會顯示登陸成功,這樣就可以翻開另一個窗口了,然后就可以進(jìn)行操作,否那么顯示登陸失敗.2,首先我們來實現(xiàn)后臺數(shù)據(jù)庫比照我們輸入信息的代碼.展開 DAL層,刪除class1.cs (其 實我們也可以直接改名而不用刪

11、除的,為了更好的演示,我們還是自己創(chuàng)立比擬好),選中DAL點擊右鍵一一?添加一一?新建項.在彈出的對話框左邊選擇C喇,右邊選擇類.名稱改為Dal.cs.3,展開DAL層,雙擊Dal.cs,進(jìn)入了編輯框,這里面寫一些操作數(shù)據(jù)庫的代碼,在 class前 面加上public ,在Dal類中添加如下代碼.下面代碼的作用是將你輸入的信息和數(shù)據(jù)庫里信 息比照,如果正確就返回1,顯示登陸成功,如果不正確就不返回1,顯示登陸失敗.public static int getUserinformation(Userinformation user) ( string connstr = "server=

12、.;database=student;integrated security=sspi" using (SqlConnection conn = new SqlConnection(connstr) (conn.Open();using(SqlCommand cmd=conn.CreateCommand() ( cmd.CommandText = "select count(*) from userlogin where username=name and password=pwd"cmd.Parameters.Add(new SqlParameter("

13、;name",user.getUserName();cmd.Parameters.Add(new SqlParameter("pwd",user.getPassword();int count= Convert.Toint32(cmd.ExecuteScalar(); return count;) ) )輸入代碼是要注意左邊大括號和右邊大括號的個數(shù)要相等.下面都是遵循這個原那么的,在后面我就不多說了.4 ,接下來我們要在MODEL層里創(chuàng)立一個Userinformation 類,方法如上,名稱改為UserInformation.cs.建好后雙擊進(jìn)入編輯框,在 cla

14、ss Userinformation前加上public ,類中添 加如下代碼private string username;private string password;public Userinformation(string username,string password) (this.username = username;this.password = password;) public string getUserName() return username; public string getPassword() return password; 5,在我們點擊登陸時如果登陸成

15、功,應(yīng)該跳轉(zhuǎn)到另一個窗口,多以首先我們應(yīng)該創(chuàng)立一個 新窗體,學(xué)生治理系統(tǒng).選中 studentMIS ,右鍵?添加?新建項.選擇 windows窗體.名稱改為formmain.cs.創(chuàng)立好后在屬性框中將text后面改為學(xué)生治理系統(tǒng).6,雙擊formlogin.cs.雙擊登陸按鈕進(jìn)入編輯框,輸入如下代碼 UserInformation user = new UserInformation(txtboxusername.Text.Trim(), txtboxpassword.Text.Trim();int count=DAL.Dal.getUserInformation(user); if(cou

16、nt=1) new formmain().Show(); this.Hide(); else MessageBox.Show("錯誤的用戶名或密碼!");txtboxusername.Text = ""/ 清空 txtboxpassword.Text ="" txtboxusername.Focus();/ 獲取焦點7,雙擊formlogin放回到登陸窗口,雙擊取消,輸入代碼this.Close();.8,現(xiàn)在我們可以開始調(diào)試了,看看能不能成功,左鍵選中studentMIS,點擊調(diào)試一一?啟動調(diào)試. 9,這是我們會發(fā)現(xiàn)調(diào)試不成功,點擊

17、否,出現(xiàn)4個錯誤,什么缺少應(yīng)用之類的.出現(xiàn)這樣的錯誤原因是,我們沒有應(yīng)用,這就好似我們寫程序而沒有寫頭文件一樣.該怎么解決呢, 很簡單.選中DAL,右鍵?添加引用一一?工程,點擊MODEL確定.選中studentMIS , 右鍵一一?添加引用一一?工程,點擊DAL,確定,選中studentMIS ,右鍵一一?添加引用一一?工程,點擊 MODEL.O確定10 ,進(jìn)過第九步還沒有解決問題,雙擊Dal.cs.在最上面加上using MODEL;using System.Data.SqlClient;.雙擊登陸進(jìn)入編輯框,在最上面添加using DAL;using MODEL;11,這時我們早調(diào)試一遍

18、,在彈出的登陸窗口中輸入用戶名和密碼,點擊登陸后會彈出一個新的窗口,學(xué)生治理系統(tǒng). 12到這里我們連接后臺數(shù)據(jù)庫登陸就做成功了.下面我們需要做的就是在學(xué)生治理系統(tǒng)窗 口添加一些控件來顯示后臺數(shù)據(jù)庫的學(xué)生表信息,以及對數(shù)據(jù)庫增刪查改操作的控件. 【第四局部數(shù)學(xué)生治理系統(tǒng)添加控件】1,現(xiàn)在我們先來試一試在學(xué)生治理系統(tǒng)顯示數(shù)據(jù)庫中學(xué)生表中的信息,雙擊formmain.cs ,在工具箱中找到DataGridView控件,在學(xué)生治理系統(tǒng)窗體中添加這個控件,在屬性窗口中將(name)后面的改為dgv.下面我,們就開始來寫代碼了.2,需要輸出數(shù)據(jù)庫中的表,對數(shù)據(jù)庫操作,需要在 DAL中寫代碼.展開 DAL雙

19、擊Dal,cs進(jìn) 入編輯頁面,添加下面代碼 public static DataTable returnTable() (string connstr = "server=.;database=student;integrated security=sspi" string sql="select * from student"using (SqlConnection conn = new SqlConnection(connstr)/ 連接數(shù)據(jù)庫的字符串 (conn.Open();/翻開對數(shù)據(jù)庫的連接 using (SqlDataAdapter ada

20、pter = new SqlDataAdapter(sql,connstr) (/數(shù)據(jù)的適配器,負(fù)責(zé)填充數(shù)據(jù)DataTable table = new DataTable(); adapter.Fill(table); return table; ) ) )代碼的作用是返回數(shù)據(jù)庫中的學(xué)生表.3,鼠標(biāo)選中學(xué)生治理系統(tǒng)窗體,雙擊進(jìn)入編輯頁面,輸入一下代碼. dgv.DataSource= DAL.Dal.returnTable();在最上面添加using System.Data;.下面我們就可以來調(diào)試一下,發(fā)現(xiàn)在學(xué)生治理系統(tǒng)上出現(xiàn)了數(shù)據(jù)庫中的學(xué)生表了.調(diào)試成功.4,雖然調(diào)試成功了,只是顯示學(xué)生表,

21、我們可以加一些修飾來移動表里的記錄,比方說上 一記錄,下一記錄,首記錄,尾記錄等等.下面我們就開始來實現(xiàn)這些功能.5,首先在DataGridView控件下面添加 4個Button按鈕控件,屬性框的text分別為首記錄,尾t己錄, 上t己錄, 下t己錄.(name)后面分另1J改為 btnfirst , btnlast, btnprevious , btnnext o 6,下面就來實現(xiàn)事件了,首先鼠標(biāo)選中學(xué)生治理系統(tǒng)窗體,雙擊進(jìn)入編輯頁面,在studentMIS的命名空間先添加如下代碼,值得注意的是不是添加在studentMIS的命名空間的里面任何一個類里. BindingSource bs =

22、 new BindingSource();7,返回學(xué)生治理系統(tǒng)窗體,雙擊首記錄進(jìn)入代碼編輯區(qū),添加代碼 bs.MoveFirst();.雙擊尾 記錄進(jìn)入代碼編輯區(qū),添加代碼bs.MoveLast();.雙擊上一記錄進(jìn)入代碼編輯區(qū),添加代碼bs.MovePrevious();.雙擊下一記錄進(jìn)入代碼編輯區(qū),添加代碼bs.MoveNext();.下面我們來調(diào)試一下看看怎么樣.發(fā)現(xiàn)四個按鈕沒用,怎么回事?不急,這是由于我們在顯示學(xué)生表 示是直接調(diào)用returnTable();的.雙擊 dgv控件進(jìn)入編輯區(qū),用 bs.DataSource = DAL.Dal.returnTable();dgv.Data

23、Source = bs來替換原來的 gv.DataSource= DAL.Dal.returnTableO 下面我 們再來調(diào)試一下,成功了.8,這回我們再來添加一個修飾,顯示當(dāng)前用戶.首先在學(xué)生治理系統(tǒng)窗體添加一個label控件(放在什么地方隨便你們),在屬性中g(shù)中將text改為當(dāng)前用戶.再添加一個label控件放 在其后,將屬性框中的 text后面字母刪除.(name)后面改為lbltip.9,顯示當(dāng)前用戶為靜態(tài)的,所以需要在studentMIS下創(chuàng)立一個類,右鍵一一?添加一一?新建項» 類.名稱改為 common.雙擊 common ,添力口代碼 public static st

24、ring username;.在class common前添加public,和上面一樣,把這些類設(shè)為公共類,這樣別的函數(shù)就可以訪問了.10,返回學(xué)生治理系統(tǒng)窗體,雙擊窗體添加代碼,Ibltip.Text = common.username;.調(diào)試一下看看結(jié)果怎么樣.【數(shù)據(jù)庫的增刪查改操作】1,前面我們實現(xiàn)了連接數(shù)據(jù)庫的登陸以及顯示數(shù)據(jù)庫中的表.這回我們來實現(xiàn)如何操作數(shù) 據(jù)庫中的數(shù)據(jù).2,首先我們雙擊 formmain進(jìn)入學(xué)生治理系統(tǒng)窗體,在工具箱中的菜單和工具欄中點擊 MenuStrip控件,添加到窗體的dgv控件的上面.我們可以在第一個標(biāo)題中輸入“系統(tǒng)",在 其下拉空格中輸入,注銷

25、和退出.在第二個標(biāo)題中輸入“信息治理,在其下拉空格中輸入四個菜單項選擇項,插入學(xué)生信息,刪除學(xué)生信息,修改學(xué)生信息,查詢學(xué)生信息.(大家還可以根據(jù)自己的需要來添加菜單項,我們這里主要是實現(xiàn)增刪查改,所以我們就不添加很多了.)3,到這一步了我們就可以為增刪查改來添加窗體了,但是在這之前我要說一聲,實現(xiàn)增刪 查改的過程中我們會不停的調(diào)試,如果每一次調(diào)試都需要輸入用戶名和密碼會很麻煩的,既然我們的登陸窗口已經(jīng)設(shè)計成功了,呢么接下來我們就不必每次太調(diào)試都運行登陸窗口了, 我們可以暫時跳過這個窗口,等到程序完全結(jié)束后我們再來運行它.雙擊studentMIS下面的Program.cs.在代碼 Applic

26、ation.Run(new formlogin();前添加,表示不運行他了,在其下 面添加代碼 Application.Run(new formmain();,便是直接運行 formmain這個窗口,也就是學(xué) 生治理系統(tǒng)窗體.下面天使一下看看,沒有了登陸窗口,直接進(jìn)入了學(xué)生治理窗口.4,前面我們說過 MODEL層是聯(lián)系層與層之間聯(lián)系的,我們登陸的用戶名和密碼先傳到 MODEL層中的UserInformation.cs中然后才傳到DAL層中與數(shù)據(jù)庫做比照的.我們添加刪除 等操作也是這樣的,比方我們添加學(xué)生信息,首先我們把信息傳到MODEL層中的StudentInformation 中最后 DAL

27、層中的 StudentDAO 調(diào)用 StudentInformation 就把我們輸入的 學(xué)生信息添加到數(shù)據(jù)庫了.5,那么首先我們要在MODEL層下面添加一個類名稱為StudentInformation.cs.雙擊進(jìn)入編輯界面,在其前面添加publico類中添加如下代碼private string sno;private string sname; private string sex; private string birthday; public StudentInformation(string sno,string sname,string sex,string birthday) t

28、his.sno = sno; this.sname = sname; this.sex = sex; this.birthday = birthday; public string getSno() return sno; public string getSname() return sname; public string getSex() return sex; public string getBirthday() return birthday; 代碼的作用是,如果給 StudentInformation創(chuàng)立一個對象,這個對象可以調(diào)用這個類里的函 數(shù)輸出參數(shù).6,當(dāng)我們出入一條學(xué)生信

29、息到數(shù)據(jù)庫時我們需要在dgv控件中顯示出來,那么我們就需要及時刷新數(shù)據(jù)庫顯示在dgv中.我們可以學(xué)生治理系統(tǒng)窗體下創(chuàng)立一個刷新函數(shù)mybinding().雙擊學(xué)生治理窗體進(jìn)入編輯頁面,將private void formmain_Load(object sender, EventArgs e)中的代碼 bs.DataSource = DAL.Dal.returnTable();dgv.DataSource = bs替換成 mybinding();,在其上面輸入以下代碼 public void mybinding()/ 刷新網(wǎng)格 bs.DataSource = DAL.Dal.returnTab

30、le(); dgv.DataSource = bs; 代碼的功能是在后面的程序中只要調(diào)用mybinding()就可以刷新表格了,而不需要從新翻開數(shù)據(jù)庫才能顯示操作的數(shù)據(jù).7,接下來我們要做的就是如何當(dāng)我們點擊插入學(xué)生信息按鈕時就會彈出一個輸入信息的對 話框.下面我們就在studentMIS下面添加一個 windows窗體,名稱改為 formadd.cs ,在屬性框中將(name)后面改為formadd.為其添加四個label控件分別命名為學(xué)號,姓名,性 別,出生日期.添加三TextBox控件分別放在學(xué)號,姓名出生日期后面( name)后面分別改為 txtboxsno , txtboxsname

31、 , txtboxsbirthday ,選擇 ComboBox 控件放在性別后面,在屬性框 中將(name)后面改為cmbboxsex, text后面改為男.再添加兩個 Button按鈕,text后面改 為錄入,取消, (name) 后面改為 btninsert , btncancel.8,雙擊插入學(xué)生信息,輸入以下代碼if (new formadd().ShowDialog() = DialogResult.OK)mybinding(); 代碼的作用是顯示我們創(chuàng)立的添加學(xué)生信息窗體,目前還不執(zhí)行mybinding();,也就是說不能刷新數(shù)據(jù)庫.為什么呢??當(dāng)我們錄入數(shù)據(jù)后點擊錄入按鈕,這樣添

32、加信息窗體就會消失,這時我們開始調(diào)用mybinding();,但這我們還需要添加一行代碼,當(dāng)窗體消失時返回值為DialogResult.OK.雙擊formadd,點擊屬性框上面的閃電標(biāo)志,找到FormClosed,雙擊進(jìn)入編輯頁面,添加代碼this.DialogResult = DialogResult.OK;.這樣當(dāng)我們錄入好學(xué)生信息后就會自動 刷新網(wǎng)格了.9,到這我們應(yīng)該雙擊錄入寫代碼了,可是大家別忘了,我們還沒有對DAL層進(jìn)行操作呢.我們只是創(chuàng)立了模板,而沒有真正實現(xiàn)插入數(shù)據(jù)到數(shù)據(jù)庫中.如果我們現(xiàn)在就調(diào)試錄入信息,我們的信息只能傳到 MODEL層中的一個類中而不能被真正錄入到數(shù)據(jù)庫中,應(yīng)

33、為DAL層中還沒有函數(shù)調(diào)用 MODEL層中的學(xué)生信息.下面我們就開始來實現(xiàn)怎么出入傳來的數(shù)據(jù)到數(shù) 據(jù)庫中.10,先在DAL層下面添加一個類名稱改為StudentDAO.cs.這是來實現(xiàn)插入數(shù)據(jù)到數(shù)據(jù)庫的.雙擊進(jìn)入編輯區(qū)在類 class StudentDAO前加上public ,然后在類中添加如下代碼public staticvoid inserStudent(StudentInformation student)string strsql = "insert into student values(sno,sname,sex,birthday)" SqlParameter

34、para = new SqlParameter new SqlParameter("sno",SqlDbType.NVarChar), new SqlParameter("sname",SqlDbType.NVarChar), new SqlParameter("sex",SqlDbType.NVarChar), new SqlParameter("birthday",SqlDbType.NVarChar);int i = 0;parai+.Value = student.getSno();parai+.Value

35、 = student.getSname();parai+.Value = student.getSex();parai+.Value = student.getBirthday();Dal.ExecuteNonQuery(strsql, para); )在最上面添加 using MODEL;using System.Data.SqlClient;using System.Data;.這是添加學(xué)生的代碼,刪除修改之類的代碼課依次向下添加.11,現(xiàn)在我們可以調(diào)試一下, 發(fā)現(xiàn)顯示一個錯誤,顯示"DAL.Da并不包含"ExecuteNonQuery" 的定義.這時我們需要

36、在 Dal.cs中添加一個 ExecuteNonQuery.雙擊Dal進(jìn)入編輯區(qū),添加 代碼 public static void ExecuteNonQuery(string strsql, params SqlParameter口 para)string connstr = "server=.;database=student;integrated security=sspi" using(SqlConnection conn=new SqlConnection(connstr) conn.Open();using(SqlCommand cmd=conn.CreateC

37、ommand() cmd.CommandText = strsql;cmd.Parameters.AddRange(para); cmd.ExecuteNonQuery();) )一定要記住的是左大括號和右大括號個數(shù)要相等.12,現(xiàn)在我們調(diào)試一下發(fā)現(xiàn)成功了,接下來我們的任務(wù)就是編寫錄入事件的代碼了,雙擊錄入按鈕進(jìn)入編輯區(qū).添加如下代碼if (txtboxsno.Text ="") MessageBox.Show("學(xué)號不能為空");txtboxsno.Focus(); return; )if (txtboxsname.Text =""

38、) MessageBox.Show("姓名不能為空");txtboxsname.Focus(); return;)其實,還需要進(jìn)一步判斷:輸入的學(xué)號與數(shù)據(jù)庫中的學(xué)號是否重復(fù)string sno = txtboxsno.Text.Trim();string sname = txtboxsname.Text.Trim();string sex = cmbboxsex.Text.Trim();string day = txtboxsbirthday.Text.Trim();Studentinformation student = new StudentInformation(sn

39、o,sname,sex,day); DAL.StudentDAO.inserStudent(student);txtboxsno.Text =""txtboxsname.Text =""txtboxsbirthday.Text =""txtboxsno.Focus();在最上面添加 using MODEL;,由于要使用到 Studentinformation ,添加后表示引用 了 MODEL;.13,下面來調(diào)試一下,隨便添加一個就可以了. 下面我們來實現(xiàn)刪除事件. 首先在studentMIS 下面添加一個 windows窗體,名稱改為

40、 formdelete.cs.在窗體添加一個 label控件,text改 為請輸入要刪除學(xué)生的學(xué)號.添加一個TextBox控件,將(name)后面改為txtboxsno.再添加兩個Button控件,text分別為刪除當(dāng)前學(xué)生,清空數(shù)據(jù)庫.14,首先我們要早DAL中的studentDAO中添加刪除學(xué)生信息的代碼.雙擊 studentDAO,cs進(jìn)入編輯區(qū),添加代碼public static void deleteStudent(string studentno) (string strsql = "delete from student where sno=no" SqlPa

41、rameter para = new SqlParameter new SqlParameter("no",SqlDbType.NVarChar) );para0.Value = studentno;Dal.ExecuteNonQuery(strsql,para);) public static void clear() string strsql = "delete from student"SqlParameter para = new SqlParameter ;Dal.ExecuteNonQuery(strsql,para); 14,雙擊菜單欄中

42、的刪除學(xué)生信息,添加代碼if (new formdelete().ShowDialog() = DialogResult.OK) mybinding();雙擊formdelete,點擊屬性框上面的閃電標(biāo)志,找到FormClosed,雙擊進(jìn)入編輯頁面,添加代碼this.DialogResult = DialogResult.OK;.這樣當(dāng)我們錄入好學(xué)生信息后就會自動刷新網(wǎng)格了. ,15,雙擊刪除當(dāng)前學(xué)生按鈕進(jìn)入編輯框,添加代碼if (txtboxsno.Text ="") (MessageBox.Show("請輸入要刪除的學(xué)生的學(xué)號:");txtboxsn

43、o.Focus(); return;第二步:還要進(jìn)一步判斷輸入的學(xué)號在數(shù)據(jù)庫中能否找到大家自行完成DAL.StudentDAO.deleteStudent(txtboxsno.Text.Trim();MessageBox.Show("刪除完畢");txtboxsno.Text =""txtboxsno.Focus();16,雙擊清空數(shù)據(jù)庫,添加代碼DialogResult dr = MessageBox.Show("請確認(rèn)是否真 的要清 空學(xué)生數(shù)據(jù)庫","警 告 ,MessageBoxButtons.OKCancel,Mes

44、sageBoxIcon.Information);if (dr =DialogResult.OK) (DAL.StudentDAO.clear(); else (/不清空,什么都不做這樣我們的刪除窗口也做好了,接下來我們要做的是查詢窗口.17,在studentMIS下面添加一個 windows窗體名稱改為 formserch.cs.在窗體中參加一個 TextBox控件(name)后面改為textBoxsno.添加一個 Button控件,text改 為確定,(name)后面改為stserch.添加一個label控件text改為學(xué)號.再添加一個 dgv控 件,(name)后面改為dgv1.雙擊確定

45、按鈕,進(jìn)入編輯頁面,添加如下代碼.if (textBoxsno.Text ="")(MessageBox.Show("學(xué)號不能為空");textBoxsno.Focus(); return; else (bs.DataSource = DAL.StudentDAO.returnTable1(textBoxsno.Text.Trim(); dgv1.DataSource = bs;代碼的作用是在 dgv1上顯示returnTable1里面的內(nèi)容,相信大家都可能猜到了returnTable1里的內(nèi)容是什么了,對就是我們用學(xué)號查出來的學(xué)生信息.18,下面我們就

46、來創(chuàng)立returnTable1 ,該函數(shù)的功能是當(dāng)我們輸入的學(xué)號傳過來時,在后臺數(shù)據(jù)庫中查找并返回信息.雙擊StudentDAO.cs進(jìn)入編輯框,添加如下代碼public static DataTable returnTable1(string sno)(DataTable table = new DataTable();string connstr = "server= .;database=student;integrated security=sspi" using (SqlConnection conn = new SqlConnection(connstr)(co

47、nn.Open();using (SqlCommand cmd = conn.CreateCommand()(cmd.CommandText = "select * from student where sno=sno" cmd.Parameters.Add(new SqlParameter("sno", sno); SqlDataAdapter adapter = new SqlDataAdapter(cmd);adapter.Fill(table);return table;現(xiàn)在大家來調(diào)試一下發(fā)現(xiàn),OK.查詢窗體做成了.19,還有最后一個窗體就是修改

48、窗體,首先創(chuàng)立一個窗體,名為 formmdf.cs.在窗體中添加 四個label控件,屬性的text分別改為學(xué)號,姓名,性別,出生日期.添加三個TextBox控件(name)分別為 textBoxsno , textBoxsname , textBoxsbirthday.再添加一個 ComboBox 控 件.(name)后面改為comboboxsex.再添加兩個 Button按鈕,text改為確定,取消.雙擊 確定按鈕進(jìn)入編輯框添加如下代碼string sno = textBoxsno.Text.Trim();string sname = textBoxsname.Text.Trim();string sex = comboBoxsex.Text.Trim();string sbirthday = textBoxsbirthday.Text.Trim();new StudentDAO().modify(s

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論