我们一直使用的管理系统oner
今天我們將用C#語言中的窗體來管理數(shù)據(jù)庫,何為窗體?
窗體就是.NET Framework中的常用控件! ? ?窗體是由控件,屬性,事件組成的!
今天我們將用窗體來實(shí)現(xiàn)登陸管理數(shù)據(jù)庫,首先我們需要先創(chuàng)建一個登陸界面的窗體
這個窗體中有5個控件,分別為Label標(biāo)簽(用于用戶不能編輯的文本或圖片) ? TextBox文本框(用于獲取用戶輸入的信息)
ComboBox組合框(允許用戶在組合框內(nèi)輸入的文本后從列表中進(jìn)行選擇)
Button按鈕(允許用戶進(jìn)行單擊來操作)
平常我們創(chuàng)建控件的時候都會更改屬性中的Name和Text,根據(jù)大家的"喜好"更改
因為這個窗體是登陸界面所以大家寫的連接代碼應(yīng)該寫在登陸這個按鈕控件中,當(dāng)用戶點(diǎn)擊登陸時開始連接數(shù)據(jù)庫判斷用戶輸入的用戶密碼是否存在;
在我的數(shù)據(jù)庫中有個MySchool數(shù)據(jù)庫當(dāng)中Student表中如上圖.
現(xiàn)在就是重要部分了那就是用C#語言編寫連接,判斷;
string str = "Data source=.;initial catalog=MySchool;uid=sa;"; //連接數(shù)據(jù)庫SqlConnection con = new SqlConnection(str);string sql = "select count(1) from student where studentname='" + txtname.Text + "' and loginpwd='" + txtpwd.Text + "'";SqlCommand cmd = new SqlCommand(sql, con);try{con.Open();int count = Convert.ToInt32(cmd.ExecuteScalar());//給數(shù)據(jù)庫傳值if (count > 0)//判斷是否成功,成功COUNT大于0反之你腦子就有病了!!!!!!!!!!{this.Hide();lnlwinds frm = new lnlwinds();frm.Show();}}catch (Exception){MessageBox.Show("腦子有病");}finally{con.Close();}
如果成功后我們就該寫第二個窗體了,當(dāng)然第一個窗體有一點(diǎn)小瑕疵,那就是不夠華麗,為啥那么說呢?因為我沒有設(shè)置它的背景圖片,當(dāng)然大家寫著個不就是為了好看嗎!但是不實(shí)用!(本人自己的觀點(diǎn)!)
回到話題看圖
此圖為第二個窗體運(yùn)用的是兩個新控件分別是菜單欄和工具欄
MenuStrip菜單欄(通過菜單欄把引用程序的功能進(jìn)行分組,能夠方便用戶查找和使用,菜單欄包含的每一項都是頂層菜單項,頂層菜單項下的選項稱為"子菜單"或"菜單項")
ToolStrip工具欄(可以顯示文字,圖片或文字加圖片)]
但是這不算完因為我們要寫的是管理系統(tǒng)所以這只是一個框架!而接下來的就是關(guān)鍵了就是添加,刪除,更改,而且還要把這幾個窗體關(guān)聯(lián)起來
把思路理清楚,我先和大家講講父子窗體吧!父子窗體就是外面一個大窗體包裹著一個窗體如圖
MDI(是.NET中的運(yùn)用程序,而每個應(yīng)用程序只有一個MDI父窗體,而且MDI子窗體出不了父窗體)
設(shè)置父子窗體的方法:
1.將父窗體屬性中的IsMdiContainer屬性設(shè)置為True
2.調(diào)用時打開子窗體的SHOW()方法前,在代碼中將子窗體的MdiParent屬性設(shè)置為This.
而后就該是添加,在這里我們使用這個方法的窗體是增加學(xué)員!
此代碼為添加(借鑒)
string pwd = txtpwd.Text; //獲得第一次輸入密碼string agePqd = txttowpwd.Text; //獲得第二次輸入的密碼if (agePqd.Equals(pwd)){string name = textname.Text; //獲得用戶輸入的名字 int grendID = Change(); //獲得用戶輸入年級string phone = textphone.Text; //獲得用戶輸入的電話string Email = txtEmail.Text; //獲得用戶輸入的EmailDateTime birthday = time.Value; //獲得用戶輸入的出生日期string gender = string.Empty; //獲得用戶輸入的性別if (boy.Checked){gender = "1";}else{gender = "0";}SqlConnection con = null;try{string str = "data source=.;initial catalog=MySchool;user ID=sa;";con = new SqlConnection(str);con.Open();string sql = "insert Student values('" + pwd + "','" + name + "','" + gender + "'," + grendID + ",'" + phone + "','" + birthday + "','" + Email + "');select @@identity";SqlCommand com = new SqlCommand(sql, con);int count = Convert.ToInt32(com.ExecuteScalar());if (count > 0){DialogResult result = MessageBox.Show("添加成功!", "用戶提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information);txtstudentnumber.Text = count.ToString();if (result == DialogResult.Yes){this.Close();}}}catch (Exception){MessageBox.Show("添加失敗!", "用戶提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information);}finally{if (con != null){con.Close();}}}else{MessageBox.Show("兩次輸入的密碼不一致!", "用戶提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information);}此代碼為刪除
DialogResult result= MessageBox.Show("您確定要清空所填入的數(shù)據(jù)?","用戶提示",MessageBoxButtons.YesNo,MessageBoxIcon.Information);if (result == DialogResult.Yes){txtgrade.SelectedIndex = 0; //默認(rèn)年級框的值為第一項 foreach (Control item in register.Controls) //因為有GroupBox控件,所以要用foreacher {if (item is TextBox){item.Text = string.Empty;}}foreach (Control item in message.Controls){if (item is TextBox){item.Text = string.Empty;}}}有刪除有添加,下面就該查詢自己是否完成所以還要寫一個查詢頁面
在此窗體中運(yùn)用了ContextMenuStrip控件,我們要打開控件的Items屬性打開項集合編輯器然后在項集合中添加成員并編寫Text和Name屬性;然后就是查詢代碼;
private void button1_Click(object sender, EventArgs e){//查詢數(shù)據(jù),清空LIstView中的數(shù)據(jù) lvStuList.Items.Clear();string sql = @"select Studentno,Studentname,Gender,gradenamefrom student,gradewhere student.gradeid=grade.gradeid and studentname like '%" + txtname.Text + "%' ";LoadDataFromDBToListView(sql);}private void btnSearch_Load(object sender, EventArgs e){string sql = @"select Studentno,Studentname,Gender,gradenamefrom student,gradewhere student.gradeid=grade.gradeid";LoadDataFromDBToListView(sql);}好了就才再次結(jié)束吧!!!!!!!!!!!!!!!!!!!!!!!!!!11
?
轉(zhuǎn)載于:https://www.cnblogs.com/csdwan/p/5002334.html
總結(jié)
以上是生活随笔為你收集整理的我们一直使用的管理系统oner的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iOS开发核心动画之画图板
- 下一篇: 为备考二级C语言做的代码练习---辅导资