今天我们将用C#语言中的窗体来管理数据库,何为窗体?

窗体就是.NET Framework中的常用控件!    窗体是由控件,属性,事件组成的!

今天我们将用窗体来实现登陆管理数据库,首先我们需要先创建一个登陆界面的窗体

这个窗体中有5个控件,分别为Label标签(用于用户不能编辑的文本或图片)   TextBox文本框(用于获取用户输入的信息)

ComboBox组合框(允许用户在组合框内输入的文本后从列表中进行选择)

Button按钮(允许用户进行单击来操作)

平常我们创建控件的时候都会更改属性中的Name和Text,根据大家的"喜好"更改

因为这个窗体是登陆界面所以大家写的连接代码应该写在登陆这个按钮控件中,当用户点击登陆时开始连接数据库判断用户输入的用户密码是否存在;

在我的数据库中有个MySchool数据库当中Student表中如上图.

现在就是重要部分了那就是用C#语言编写连接,判断;

   string str = "Data source=.;initial catalog=MySchool;uid=sa;";  //连接数据库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());//给数据库传值if (count > 0)//判断是否成功,成功COUNT大于0反之你脑子就有病了!!!!!!!!!!{this.Hide();lnlwinds frm = new lnlwinds();frm.Show();}}catch (Exception){MessageBox.Show("脑子有病");}finally{con.Close();}

如果成功后我们就该写第二个窗体了,当然第一个窗体有一点小瑕疵,那就是不够华丽,为啥那么说呢?因为我没有设置它的背景图片,当然大家写着个不就是为了好看吗!但是不实用!(本人自己的观点!)

回到话题看图

此图为第二个窗体运用的是两个新控件分别是菜单栏和工具栏

MenuStrip菜单栏(通过菜单栏把引用程序的功能进行分组,能够方便用户查找和使用,菜单栏包含的每一项都是顶层菜单项,顶层菜单项下的选项称为"子菜单"或"菜单项")

ToolStrip工具栏(可以显示文字,图片或文字加图片)]

但是这不算完因为我们要写的是管理系统所以这只是一个框架!而接下来的就是关键了就是添加,删除,更改,而且还要把这几个窗体关联起来

把思路理清楚,我先和大家讲讲父子窗体吧!父子窗体就是外面一个大窗体包裹着一个窗体如图

MDI(是.NET中的运用程序,而每个应用程序只有一个MDI父窗体,而且MDI子窗体出不了父窗体)

设置父子窗体的方法:

1.将父窗体属性中的IsMdiContainer属性设置为True

2.调用时打开子窗体的SHOW()方法前,在代码中将子窗体的MdiParent属性设置为This.

而后就该是添加,在这里我们使用这个方法的窗体是增加学员!

此代码为添加(借鉴)

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("您确定要清空所填入的数据?","用户提示",MessageBoxButtons.YesNo,MessageBoxIcon.Information);if (result == DialogResult.Yes){txtgrade.SelectedIndex = 0;  //默认年级框的值为第一项  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;}}}

有删除有添加,下面就该查询自己是否完成所以还要写一个查询页面

在此窗体中运用了ContextMenuStrip控件,我们要打开控件的Items属性打开项集合编辑器然后在项集合中添加成员并编写Text和Name属性;然后就是查询代码;

 private void button1_Click(object sender, EventArgs e){//查询数据,清空LIstView中的数据
            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);}

好了就才再次结束吧!!!!!!!!!!!!!!!!!!!!!!!!!!11

转载于:https://www.cnblogs.com/csdwan/p/5002334.html

我们一直使用的管理系统oner相关推荐

  1. 【VB】学生信息管理系统6——错误调试

    因为站在了巨人的肩膀上,在理解代码意思后的调试中,用到之前的别人的CSDN.所以原理查的不是很透彻.这里总结一下我的问题! 1.VB(如下代码)中mrc.EOF = False应该怎么理解呢? Set ...

  2. 【VB】学生信息管理系统5——数据库代码

    这次学生信息管理系统在代码的理解过程中遇到了一些问题.总结如下: 1. sql server的安装过程各个步骤的意思.在安装SQL Server的时候按照网上的步骤,我觉得这个需要学完整个数据库再返回 ...

  3. 【VB】学生信息管理系统4——数据库的发展

    由于连接数据的时候出现了很多不懂得问题,为什么要连接,它是怎么连接的,查着查着,就越看越多.又不舍得就这么放过这些问题,所以就耐心看看究竟是怎么回事! 1.自从出现数据库,人们渴望用数据和应用程序做交 ...

  4. 【VB】学生信息管理系统3——连接数据库的前提

    在窗体设计和编写程序代码后,需要进行数据库的连接. 大概要做的:下载安装数据库--配置数据源ODBC--测试连接数据库--进行数据库中内容的添加. 关键是这些我都不会,这才是重点! 在学习数据库的过程 ...

  5. 【VB】学生信息管理系统2——窗体设计

    这次学生系统是照着书敲的,先敲完然后开始调试!中途遇到了很多问题,查了很多,这里不容易系统的总结!所以就针对各个问题,各个击破! 问题一:VB 6.0中,状态栏控件(sbstatusbar):右击选项 ...

  6. 【VB】学生信息管理系统1——系统设计怎样开始?

    历时两周完成用VB完成的学生信息管理系统.从刚开始只会敲好玩的小程序到现在完整的做出一个像样的系统.自己的编程思维进行了很大的跨越. 这次的学生信息管理系统让我从整体的角度看到了一个系统设计的过程. ...

  7. 狂神Spring Boot 员工管理系统 超详细完整实现教程(小白轻松上手~)

    [SpringBoot-web系列]前文: SpringBoot-web开发(一): 静态资源的导入(源码分析) SpringBoot-web开发(二): 页面和图标定制(源码分析) SpringBo ...

  8. 备案网站管理系统是JSP做的

    备案网站管理系统 http://www.miibeian.gov.cn/ 浪费了我一上午的时间没成功.靠! 转载于:https://www.cnblogs.com/splyn/archive/2009 ...

  9. java停车管理系统中期检查_java毕业设计_springboot框架的停车场收费管理系统

    这是一个基于java的毕业设计项目,毕设课题为springboot框架的停车场收费管理系统, 是一个采用b/s结构的javaweb项目, 开发工具eclipsei/eclipse, 项目框架jsp+s ...

最新文章

  1. poj 3061(尺取法)
  2. Nginx的rewrite之set指令
  3. TIOBE 12月编程语言排行榜:Python有望第四次成为年度语言
  4. processon.com - 在线团队协作软件(草巾冒小子)推荐 - 资源篇
  5. python tableview绑定字典_在QTableView中使用各种自定义委托
  6. 由浅入深,逐步了解 Java 并发编程中的 Synchronized!
  7. 编程漫谈及计算机硬件简介
  8. 【2019徐州网络赛:M】Longest subsequence(思维+构造)
  9. 嵌入式开发 | 嵌入式开发设计文档该怎么写?
  10. SYN报文什么时候会被丢弃?
  11. 网页视频下载mp4格式到本地
  12. python中oserror是什么意思,python – OSError:[错误1]不允许操作
  13. 99%健身人士的疑问:营养补充窗口真的很重要吗?
  14. C语言求绝对值的问题
  15. hadoop 光环大数据_Hadoop - HDFS的数据流剖析
  16. iphone ipad等苹果设备30针数据线接口定义,大家可能有用
  17. [有机化学] 简单有机物的英文命名法
  18. 通过后台数据在百度地图标记多个点
  19. 【免费】无人机图像处理工具软件—批量去雾,匀光匀色,增强,对比度亮度调节
  20. 嵌入式软件工程师有必要精通算法,参加各种编程大赛吗?

热门文章

  1. 来自法国的山寨苹果系统——梨子系统PearOS,精美仿苹果风格的免费Linux操作系统(颇有iOS和OSX的神...
  2. UNIX网络编程——客户/服务器程序设计示范(一)
  3. WebService大讲堂之Axis2(6):跨服务会话(Session)管理
  4. leetcode算法题--Flood Fill
  5. linux虚拟网络设备--eth, tap/tun, veth-pair(九)
  6. java中 菜单的触发事件_javaweb ajax+div实现左边菜单右边内容时点击菜单应该触发事件但是右边没反应...
  7. Matlab学习笔记(三)
  8. EnterpriseLibrary2.0系列文章及下载
  9. 陈一舟:雷军马云在通讯领域也做不过马化腾 为何我就该挨骂
  10. jQuery、ajax添加Json数据