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

下載本文檔

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

文檔簡介

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

2、框里輸入如下代碼點擊執(zhí)行。create database student onprimary(name=student_dat,filename='E:課程設(shè)計數(shù)據(jù)庫student.mdf',size=5MB,maxsize=50,filegrowth=2MB)log on(name=教學管理數(shù)據(jù)庫_log,filename='E:課程設(shè)計數(shù)據(jù)庫student.ldf',size=5MB,maxsize=100MB,filegrowth=2MB)gouse studentgoCREATE TABLE student(sno NVARCHAR(10) PRIMAR

3、Y KEY,sname NVARCHAR(8),ssex NVARCHAR(1),sbirthday NVARCHAR(10)create table userlogin( username NVARCHAR(8) primary key, password nvarchar(20) NOT NULL)insert into student values('2012001','許敏','女','1992/03/18')insert into student values('2012002','王鵬'

4、,'男','1996/12/28')insert into student values('2012003','張壘','男','1988/01/13')insert into student values('2012004','李小紅','女','1993/06/22')insert into student values('2012005','張哲','男','1992/12/

5、30')insert into student values('2012006','張強','男','1989/01/06')insert into student values('2012007','劉敏紅','女','1988/12/02')insert into userlogin values('admin','123456')insert into userlogin values('zhangsan'

6、,'123456')insert into userlogin values('lisi','123456')這里面有兩張表,一張是學生表,一張是登錄表,里面是用戶名和密碼。3,這是會發(fā)現(xiàn)在E盤創(chuàng)建的文件家里出現(xiàn)了兩個文件,一個是數(shù)據(jù)庫文件一個是數(shù)據(jù)庫日志文件。就這樣后臺數(shù)據(jù)庫就創(chuàng)建好了。(大家也可以根據(jù)自己的需要來修改)【第二部分:創(chuàng)建登陸窗口】1,,打開isual studio 2008,文件新建項目。2,左邊點擊visual c#,右邊點擊window窗體應(yīng)用程序。3,名稱改為studentMIS,位置根據(jù)自己情況而定。一定要在創(chuàng)建解決方案

7、的目錄前面打鉤。4,這時界面有一個Form1窗體了。下面我們要做的就是設(shè)置三層架構(gòu)了。簡單的說就是添加三個類庫。5,三個類庫分別是是BBL(邏輯判斷層,我們一般用不到,也可以不添加),DAL(數(shù)據(jù)操作層,操作數(shù)據(jù)庫的代碼都寫在這里),MODEL(聯(lián)系層與層之間的關(guān)系)6,點擊文件添加新建項目類庫。名稱改為DAL。點擊文件添加新建項目類庫。名稱改為MODEL。這里不需要用到BBL層,所以就不添加了。7,前面的步驟就把這次試驗的基本架構(gòu)弄好了,下面要弄的就是添加事件了,怎么登錄和連接后臺數(shù)據(jù)庫,以及對數(shù)據(jù)庫的修改。8,展開用邊的studentMIS,選中Form1,重命名為formlogin.cs

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

9、面的改為密碼。10,在工具箱中找到TextBox控件。同樣方法鼠標單擊,然后在登錄窗體中空白位置單擊鼠標左鍵,就會出現(xiàn)編輯框,用鼠標左鍵選中編輯框,在屬性窗口中將(name)后面的改為txtboxusername.用同樣的方法再添加一個編輯框控件,在屬性窗口中將(name)后面的改為txtboxpassword。11,現(xiàn)在添加按鈕控件,在工具箱中找到Button控件,左鍵單擊,然后在登錄窗體中的空白位置單擊左鍵,選中按鈕控件,在他的屬性窗口中將text后面的改為登錄,將(name)后面的改為btnlogin。用同樣的方法再添加一個按鈕控件,講將text后面的改為取消,將(name)后面的改為b

10、tncancel。12,經(jīng)過12個步驟我們就創(chuàng)建好了一個登陸窗口?!镜谌糠郑哼B接數(shù)據(jù)庫登陸】1,在建立數(shù)據(jù)庫的連接前先說一下本人對于這個連接后臺數(shù)據(jù)庫的原理的理解。在我們在登陸窗口的編輯框里輸入用戶名和密碼后點擊登陸時,在登陸事件里我們通過MODEL層函數(shù)UserInformation將我們輸入的信息傳到DAL層的getUserInformation函數(shù)內(nèi),該函數(shù)的功能是傳過來的信息與我們開始在后臺數(shù)據(jù)庫里保存的用戶名和密碼進行對比,如果對比成功就會顯示登陸成功,這樣就可以打開另一個窗口了,然后就可以進行操作,否則顯示登陸失敗。2,首先我們來實現(xiàn)后臺數(shù)據(jù)庫對比我們輸入信息的代碼。展開DAL層

11、,刪除class1.cs(其實我們也可以直接改名而不用刪除的,為了更好的演示,我們還是自己創(chuàng)建比較好),選中DAL,點擊右鍵添加新建項。在彈出的對話框左邊選擇C#項,右邊選擇類。名稱改為Dal.cs。3,展開DAL層,雙擊Dal.cs,進入了編輯框,這里面寫一些操作數(shù)據(jù)庫的代碼,在class前面加上public,在Dal類中添加如下代碼。下面代碼的作用是將你輸入的信息和數(shù)據(jù)庫里信息對比,如果正確就返回1,顯示登陸成功,如果不正確就不返回1,顯示登陸失敗。public static int getUserInformation(UserInformation user) string conns

12、tr = "server=.;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 S

13、qlParameter("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。建好后雙

14、擊進入編輯框,在class 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)建一個新窗體,學生管理系統(tǒng)。選中studentMIS,右鍵添加新建項。選擇windows窗體。名稱改為formmain.cs。創(chuàng)建好后在屬性框中將text后面改為學生管理系統(tǒng)。6,雙擊formlogin.cs。雙擊登陸按鈕進入編輯框,輸入如下代碼UserInformation user = new UserInformation(txtboxusername.Text.Trim(), txtboxpassword.Text.Trim(); int count=DAL.Dal.getUserInformation(user); if

16、(count=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。確定10,進過第九步還沒有解決問題,雙擊Dal.cs。在最上面加上using MODEL;using System.Data.SqlClient;。雙擊登陸進入編輯框,在最上面添加using DAL;using MODEL; 11,這時我們早調(diào)試一遍,在彈出的登陸窗口中輸入用戶名和密碼,

18、點擊登陸后會彈出一個新的窗口,學生管理系統(tǒng)。12到這里我們連接后臺數(shù)據(jù)庫登陸就做成功了。下面我們需要做的就是在學生管理系統(tǒng)窗口添加一些控件來顯示后臺數(shù)據(jù)庫的學生表信息,以及對數(shù)據(jù)庫增刪查改操作的控件?!镜谒牟糠謹?shù)學生管理系統(tǒng)添加控件】1,現(xiàn)在我們先來試一試在學生管理系統(tǒng)顯示數(shù)據(jù)庫中學生表中的信息,雙擊formmain.cs,在工具箱中找到DataGridView控件,在學生管理系統(tǒng)窗體中添加這個控件,在屬性窗口中將(name)后面的改為dgv。下面我,們就開始來寫代碼了。2,需要輸出數(shù)據(jù)庫中的表,對數(shù)據(jù)庫操作,需要在DAL中寫代碼。展開DAL,雙擊Dal,cs進入編輯頁面,添加下面代碼 pub

19、lic 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 adapter = new SqlDataAdapter(s

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

21、錄,尾記錄等等。下面我們就開始來實現(xiàn)這些功能。5,首先在DataGridView控件下面添加4個Button按鈕控件,屬性框的text分別為首記錄,尾記錄,上一記錄,下一記錄。(name)后面分別改為btnfirst,btnlast,btnprevious,btnnext。6,下面就來實現(xiàn)事件了,首先鼠標選中學生管理系統(tǒng)窗體,雙擊進入編輯頁面,在studentMIS的命名空間先添加如下代碼,值得注意的是不是添加在studentMIS的命名空間的里面任何一個類里。BindingSource bs = new BindingSource();7,返回學生管理系統(tǒng)窗體,雙擊首記錄進入代碼編輯區(qū),添加

22、代碼bs.MoveFirst();。雙擊尾記錄進入代碼編輯區(qū),添加代碼bs.MoveLast();。雙擊上一記錄進入代碼編輯區(qū),添加代碼bs.MovePrevious();。雙擊下一記錄進入代碼編輯區(qū),添加代碼 bs.MoveNext();。下面我們來調(diào)試一下看看怎么樣。發(fā)現(xiàn)四個按鈕沒用,怎么回事?不急,這是因為我們在顯示學生表示是直接調(diào)用returnTable();的。雙擊dgv控件進入編輯區(qū),用bs.DataSource = DAL.Dal.returnTable(); dgv.DataSource = bs;來替換原來的gv.DataSource= DAL.Dal.returnTable

23、()。下面我們再來調(diào)試一下,成功了。8,這回我們再來添加一個修飾,顯示當前用戶。首先在學生管理系統(tǒng)窗體添加一個label控件(放在什么地方隨便你們),在屬性框中將text改為當前用戶。再添加一個label控件放在其后,將屬性框中的text后面字母刪除。(name)后面改為lbltip。9,顯示當前用戶為靜態(tài)的,所以需要在studentMIS下創(chuàng)建一個類,右鍵添加新建項類。名稱改為common。雙擊common,添加代碼public static string username;。在class common前添加public,和上面一樣,把這些類設(shè)為公共類,這樣別的函數(shù)就可以訪問了。10,返回學

24、生管理系統(tǒng)窗體,雙擊窗體添加代碼,lbltip.Text = common.username;。調(diào)試一下看看結(jié)果怎么樣?!緮?shù)據(jù)庫的增刪查改操作】1,前面我們實現(xiàn)了連接數(shù)據(jù)庫的登陸以及顯示數(shù)據(jù)庫中的表。這回我們來實現(xiàn)如何操作數(shù)據(jù)庫中的數(shù)據(jù)。2,首先我們雙擊formmain進入學生管理系統(tǒng)窗體,在工具箱中的菜單和工具欄中點擊MenuStrip控件,添加到窗體的dgv控件的上面。我們可以在第一個標題中輸入“系統(tǒng)”,在其下拉空格中輸入,注銷和退出。在第二個標題中輸入“信息管理”,在其下拉空格中輸入四個菜單選項,插入學生信息,刪除學生信息,修改學生信息,查詢學生信息。(大家還可以根據(jù)自己的需要來添加菜單

25、項,我們這里主要是實現(xiàn)增刪查改,所以我們就不添加很多了。)3,到這一步了我們就可以為增刪查改來添加窗體了,但是在這之前我要說一聲,實現(xiàn)增刪查改的過程中我們會不停的調(diào)試,如果每一次調(diào)試都需要輸入用戶名和密碼會很麻煩的,既然我們的登陸窗口已經(jīng)設(shè)計成功了,呢么接下來我們就不必每次太調(diào)試都運行登陸窗口了,我們可以暫時跳過這個窗口,等到程序完全結(jié)束后我們再來運行它。雙擊studentMIS下面的Program.cs。在代碼 Application.Run(new formlogin();前添加/,表示不運行他了,在其下面添加代碼Application.Run(new formmain();,便是直接運行

26、formmain這個窗口,也就是學生管理系統(tǒng)窗體。下面天使一下看看,沒有了登陸窗口,直接進入了學生管理窗口。4,前面我們說過MODEL層是聯(lián)系層與層之間聯(lián)系的,我們登陸的用戶名和密碼先傳到MODEL層中的UserInformation.cs中然后才傳到DAL層中與數(shù)據(jù)庫做對比的。我們添加刪除等操作也是這樣的,比如我們添加學生信息,首先我們把信息傳到MODEL層中的StudentInformation中最后DAL層中的StudentDAO調(diào)用StudentInformation就把我們輸入的學生信息添加到數(shù)據(jù)庫了。5,那么首先我們要在MODEL層下面添加一個類名稱為StudentInformat

27、ion.cs。雙擊進入編輯界面,在其前面添加public。類中添加如下代碼private string sno; private string sname; private string sex; private string birthday; public StudentInformation(string sno,string sname,string sex,string birthday) this.sno = sno; this.sname = sname; this.sex = sex; this.birthday = birthday; public string getSno

28、() 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,當我們出入一條學生信息到數(shù)據(jù)庫時我們需要在dgv控件中顯示出來,那么我們就需要及時刷新數(shù)據(jù)庫顯示在dgv中。我們可以學生管理系統(tǒng)窗體下創(chuàng)建一個刷新函數(shù)mybinding()。雙擊學生管理窗體進入編輯頁面,將privat

29、e 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.returnTable(); dgv.DataSource = bs; 代碼的功能是在后面的程序中只要調(diào)用mybinding()就可以刷新表格了,而不需要從新打開數(shù)據(jù)庫才能顯示操作的數(shù)據(jù)。7,接下來我們要做的就是如何

30、當我們點擊插入學生信息按鈕時就會彈出一個輸入信息的對話框。下面我們就在studentMIS下面添加一個windows窗體,名稱改為formadd.cs,在屬性框中將(name)后面改為formadd。為其添加四個label控件分別命名為學號,姓名,性別,出生日期。添加三TextBox控件分別放在學號,姓名出生日期后面(name)后面分別改為txtboxsno,txtboxsname,txtboxsbirthday,選擇ComboBox控件放在性別后面,在屬性框中將(name)后面改為cmbboxsex,text后面改為男。再添加兩個Button按鈕,text后面改為錄入,取消,(name)后面

31、改為btninsert,btncancel。8,雙擊插入學生信息,輸入以下代碼if (new formadd().ShowDialog() = DialogResult.OK) mybinding(); 代碼的作用是顯示我們創(chuàng)建的添加學生信息窗體,目前還不執(zhí)行mybinding();,也就是說不能刷新數(shù)據(jù)庫。為什么呢?當我們錄入數(shù)據(jù)后點擊錄入按鈕,這樣添加信息窗體就會消失,這時我們開始調(diào)用mybinding();,但這我們還需要添加一行代碼,當窗體消失時返回值為DialogResult.OK。雙擊formadd,點擊屬性框上面的閃電標志,找到FormClosed,雙擊進入編輯頁面,添加代碼th

32、is.DialogResult = DialogResult.OK;。這樣當我們錄入好學生信息后就會自動刷新網(wǎng)格了。9,到這我們應(yīng)該雙擊錄入寫代碼了,可是大家別忘了,我們還沒有對DAL層進行操作呢。我們只是創(chuàng)建了模板,而沒有真正實現(xiàn)插入數(shù)據(jù)到數(shù)據(jù)庫中。如果我們現(xiàn)在就調(diào)試錄入信息,我們的信息只能傳到MODEL層中的一個類中而不能被真正錄入到數(shù)據(jù)庫中,應(yīng)為DAL層中還沒有函數(shù)調(diào)用MODEL層中的學生信息。下面我們就開始來實現(xiàn)怎么出入傳來的數(shù)據(jù)到數(shù)據(jù)庫中。10,先在DAL層下面添加一個類名稱改為StudentDAO.cs。這是來實現(xiàn)插入數(shù)據(jù)到數(shù)據(jù)庫的。雙擊進入編輯區(qū)在類class StudentDA

33、O前加上public,然后在類中添加如下代碼 public static void inserStudent(StudentInformation student) string strsql = "insert into student values(sno,sname,sex,birthday)" SqlParameter para = new SqlParameter new SqlParameter("sno",SqlDbType.NVarChar), new SqlParameter("sname",SqlDbType.NV

34、arChar), new SqlParameter("sex",SqlDbType.NVarChar), new SqlParameter("birthday",SqlDbType.NVarChar) ; int i = 0; parai+.Value = student.getSno(); parai+.Value = student.getSname(); parai+.Value = student.getSex(); parai+.Value = student.getBirthday(); Dal.ExecuteNonQuery(strsql,

35、 para); 在最上面添加using MODEL;using System.Data.SqlClient;using System.Data;。這是添加學生的代碼,刪除修改之類的代碼課依次向下添加。11,現(xiàn)在我們可以調(diào)試一下,發(fā)現(xiàn)顯示一個錯誤,顯示“DAL.Dal”并不包含“ExecuteNonQuery”的定義。這時我們需要在Dal.cs中添加一個ExecuteNonQuery。雙擊Dal進入編輯區(qū),添加代碼public static void ExecuteNonQuery(string strsql, params SqlParameter para) string connstr =

36、 "server=.;database=student;integrated security=sspi" using(SqlConnection conn=new SqlConnection(connstr) conn.Open(); using(SqlCommand cmd=conn.CreateCommand() cmd.CommandText = strsql; cmd.Parameters.AddRange(para); cmd.ExecuteNonQuery(); 一定要記住的是左大括號和右大括號個數(shù)要相等。12,現(xiàn)在我們調(diào)試一下發(fā)現(xiàn)成功了,接下來我們的任務(wù)就是

37、編寫錄入事件的代碼了,雙擊錄入按鈕進入編輯區(qū)。添加如下代碼if (txtboxsno.Text = "") MessageBox.Show("學號不能為空"); txtboxsno.Focus(); return; if (txtboxsname.Text = "") MessageBox.Show("姓名不能為空"); txtboxsname.Focus(); return; /其實,還需要進一步判斷:輸入的學號與數(shù)據(jù)庫中的學號是否重復(fù) string sno = txtboxsno.Text.Trim(); st

38、ring sname = txtboxsname.Text.Trim(); string sex = cmbboxsex.Text.Trim(); string day = txtboxsbirthday.Text.Trim(); StudentInformation student = new StudentInformation(sno,sname,sex,day); DAL.StudentDAO.inserStudent(student); txtboxsno.Text = "" txtboxsname.Text = "" txtboxsbirth

39、day.Text = "" txtboxsno.Focus(); 在最上面添加using MODEL;,因為要使用到StudentInformation,添加后表示引用了MODEL;。13,下面來調(diào)試一下,隨便添加一個就可以了。下面我們來實現(xiàn)刪除事件。首先在studentMIS下面添加一個windows窗體,名稱改為formdelete.cs。在窗體添加一個label控件,text改為 請輸入要刪除學生的學號。添加一個TextBox控件,將(name)后面改為txtboxsno。再添加兩個Button控件,text分別為刪除當前學生,清空數(shù)據(jù)庫。14,首先我們要早DAL中的

40、studentDAO中添加刪除學生信息的代碼。雙擊studentDAO,cs進入編輯區(qū),添加代碼 public static void deleteStudent(string studentno) string strsql = "delete from student where sno=no" SqlParameter para = new SqlParameter new SqlParameter("no",SqlDbType.NVarChar) ; para0.Value = studentno; Dal.ExecuteNonQuery(str

41、sql,para); public static void clear() string strsql = "delete from student" SqlParameter para = new SqlParameter ; Dal.ExecuteNonQuery(strsql,para); 14,雙擊菜單欄中的刪除學生信息,添加代碼 if (new formdelete().ShowDialog() = DialogResult.OK) mybinding(); 雙擊formdelete,點擊屬性框上面的閃電標志,找到FormClosed,雙擊進入編輯頁面,添加代碼t

42、his.DialogResult = DialogResult.OK;。這樣當我們錄入好學生信息后就會自動刷新網(wǎng)格了。,15,雙擊刪除當前學生按鈕進入編輯框,添加代碼 if (txtboxsno.Text = "") MessageBox.Show("請輸入要刪除的學生的學號:"); txtboxsno.Focus(); return; /第二步:還要進一步判斷輸入的學號在數(shù)據(jù)庫中能否找到 /大家自行完成 DAL.StudentDAO.deleteStudent(txtboxsno.Text.Trim(); MessageBox.Show("刪

43、除完畢"); txtboxsno.Text = "" txtboxsno.Focus();16,雙擊清空數(shù)據(jù)庫,添加代碼 DialogResult dr = MessageBox.Show("請確認是否真的要清空學生數(shù)據(jù)庫","警告",MessageBoxButtons.OKCancel,MessageBoxIcon.Information); if (dr =DialogResult.OK) DAL.StudentDAO.clear(); else /不清空,什么都不做 這樣我們的刪除窗口也做好了,接下來我們要做的是查詢窗

44、口。17,在studentMIS下面添加一個windows窗體名稱改為formserch.cs。在窗體中加入一個TextBox控件(name)后面改為textBoxsno。添加一個Button控件,text改為確定,(name)后面改為stserch。添加一個label控件text改為學號。再添加一個dgv控件,(name)后面改為dgv1。雙擊確定按鈕,進入編輯頁面,添加如下代碼。if (textBoxsno.Text = "" ) MessageBox.Show("學號不能為空"); textBoxsno.Focus(); return; else

45、bs.DataSource = DAL.StudentDAO.returnTable1(textBoxsno.Text.Trim(); dgv1.DataSource = bs;代碼的作用是在dgv1上顯示returnTable1里面的內(nèi)容,相信大家都可能猜到了returnTable1里的內(nèi)容是什么了,對就是我們用學號查出來的學生信息。18,下面我們就來創(chuàng)建returnTable1,該函數(shù)的功能是當我們輸入的學號傳過來時,在后臺數(shù)據(jù)庫中查找并返回信息。雙擊StudentDAO.cs進入編輯框,添加如下代碼 public static DataTable returnTable1(string

46、sno) DataTable table = new DataTable(); string connstr = "server= .;database=student;integrated security=sspi" using (SqlConnection conn = new SqlConnection(connstr) conn.Open(); using (SqlCommand cmd = conn.CreateCommand() cmd.CommandText = "select * from student where sno=sno"

47、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,還有最后一個窗體就是修改窗體,首先創(chuàng)建一個窗體,名為formmdf.cs。在窗體中添加四個label控件,屬性的text分別改為學號,姓名,性別,出生日期。添加三個TextBox控件(name)分別為textBoxsno,textBoxsname,textBo

48、xsbirthday。再添加一個ComboBox控件。(name)后面改為comboboxsex。再添加兩個Button按鈕,text改為確定,取消。雙擊確定按鈕進入編輯框添加如下代碼string sno = textBoxsno.Text.Trim(); string sname = textBoxsname.Text.Trim(); string sex = comboBoxsex.Text.Trim(); string sbirthday = textBoxsbirthday.Text.Trim(); new StudentDAO().modify(sno, sname, sex, sbirthday

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論