写项目之前呢,先来缕缕思路,既然要写学生管理系统,那肯定上不了从数据库中读取信息,然而想要从数据库中拿到你想要的东西,就要先登录,得到他的权限才行,所以我们第一步就要先搞出一个登录页面并且能连接到数据库的.So 就有了第一张图,至于他怎么来的,咱继续往下看!嘻嘻~

一、先登录

        

     登陆页面     登录出错(登录名或密码填写错误)

    想登陆成功需要在登录里加些代码进去,(双击登录进入代码编辑将下面的代码写进去)

  //验证用户名密码是否和数据库中匹配
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 > )
{
this.Hide();
//定位到Main界面
FrmMain frm=new FrmMain();
Tool.pwd= txtPwd.Text;
frm.Show(); }
}
catch (Exception)
{
MessageBox.Show("网络出错");
}
finally
{
con.Close(); } }
//Load窗体在被用户肉眼看到前就被执行了
private void FrmLogin_Load(object sender, EventArgs e)
{ }
}

登录页面

    登陆成功后就能进入查询学生系统,所以,我们要写一个前台

生活中的前台是咨询的地方,所以我们的前台也会模仿他们一样,有固定的功能,For example 菜单→修改密码或退出;新建学生信息;查询学生信息;按年级查询学生信息......

    下面小博继续为大家讲解.   

二、编写前台

菜单栏(menuStrip1);工具栏(toolStrip1);右键(contextMenuStrip1);

 

下面进行真正的写项目,写具体"功能"了.

三、新建学生用户

为了让用户点击保存用户信息直接添加到数据库中,需要在"保存"里面加入下面的代码

  private void btnEdit_Click(object sender, EventArgs e)
{
//根据学号是否为0,判定该按钮用来执行“添加”还是“修改”
if (stuno!=)
{
//修改
//update
}
else
{
//添加
AddStudent();
}
} //添加学生
public void AddStudent()
{
//添加学生
string pwd = txtPwd.Text;//密码
string stuname = txtName.Text;//姓名
//获取性别
string stugender = string.Empty;
if (rbtnMale.Checked)
{
stugender = "";
}
else
{
stugender = "";
}
//如何给下拉框绑定数据
int gid = GetIdByName();
//电话
string stuPhone = txtPhone.Text; //地址
string stuAddress = txtAddress.Text;
//日期
DateTime dt = dpBirthday.Value;
string stuEmail = txtEmail.Text;
//StudentNo, LoginPwd, StudentName, Gender, GradeId, Phone, Address, Birthday, Email, MyTT
string sql = "insert into student values('" + pwd + "','" + stuname + "'," + stugender + "," + gid + ",'" + stuPhone + "','" + stuAddress + "','" + dt + "','" + stuEmail + "')";
string str = "Data source=.;initial catalog=MySchool;uid=sa";
SqlConnection con = new SqlConnection(str);
SqlCommand cmd = new SqlCommand(sql, con);
con.Open();
int count = cmd.ExecuteNonQuery();
if (count > )
{
MessageBox.Show("成功!");
}
con.Close();
} //该方法将年级名称转换成年级编号
public int GetIdByName()
{
string str = "Data source=.;initial catalog=MySchool;uid=sa";
SqlConnection con = new SqlConnection(str);
string sql = "select gradeid from grade where gradename='"+cboGrade.Text+"'";
SqlCommand cmd = new SqlCommand(sql, con);
int gid = ;
try
{
con.Open();
gid =Convert.ToInt32(cmd.ExecuteScalar());
}
catch (Exception)
{ MessageBox.Show("网络异常");
}
finally
{
con.Close();
}
return gid;
}

添加学生信息

四、从数据库中拿到想要的内容

和上面的方式相同

   private void btnSearch_Click(object sender, EventArgs e)
{ //查询数据前,清空LIstView中的数据
lvStuList.Items.Clear();
string sql = @"select Studentno,Studentname,Gender,gradename
from student,grade
where student.gradeid=grade.gradeid and studentname like '%"+txtStudentName.Text+"%' ";
LoadDataFromDBToListView(sql);
}

从数据库中查询想要的学生信息

以上就是小博今天为大家"传授"的小步骤,希望能多评价即便小博下次改正~如果有高手高手高高手,请联系小博,小博会悉心请教~谢谢.

                      No.QQ:1327805794

 

      

【皇甫】☀那些事儿......STEP的更多相关文章

  1. 【皇甫】☀IOC和AOP的拓展实例

    <!--构造器注入 --> <bean id="user1" class="cn.happy.entity.User"> <con ...

  2. 【皇甫】☀初识AOP

    新知识,新起点,下面介绍一下aop所要准备架包和各个层 特点: 创建好的各个层: 所需架包: 具体步骤: No.1  搭建分层架构 entity 1 public class User impleme ...

  3. 【皇甫】☀Spring开题中...

    spring (由Rod Johnson创建的一个开源框架)Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建.简单来说,Spr ...

  4. 【皇甫】☀Struts_第一节课

    本章讲解内容: DTD是Docunent Type Defintion的缩写,即文档类型定义.DTD用来描述XML文档结构. DOM4J是一个非常优秀的javaXML API,具有性能优异,功能强大和 ...

  5. 【皇甫】☀Hibernate入门

    说说我们最近的一些事 二期已经过去了,下面迎接的就是二年,据原老师讲解,我们10月份就开始陆续找工作了,虽然他说我们找工作不是问题,可每个人都有自知之明,我也知道我所处的位置,所以我清楚我要怎么做,我 ...

  6. 【皇甫】☀ TreeSet

    -Set: 元素是无序(存入和取出的顺序不一致),元素不可以重复 |-- HashSet: 底层数据结构是哈希表 HashSet是如何保证元素的唯一性的呢? 是通过元素的两个方法,hashCode和e ...

  7. 【皇甫】☀ 图_substring

    substring是啥?

  8. 【皇甫】☀PPT里的小玩意

    第三次写博客了,感觉写的蛮有趣的,在写的同时,回顾了知识点,又上手操作了一遍,印象更加深刻了,尽管今天写的和那些像JAVA啦,HTML啦,C#啦,没多大关系(个人理解),但确实我们经常能用到的.比如说 ...

  9. 【皇甫】☀亲爱的~help me

     亲爱的,我不知道该怎么把我想对你说的话表达出来,希望我对你的认识真的像下面的内容一样,如果我有错,那说明我还不够了解你... 希望我们能够一起走到最后吧... 首先,说说最近的吧,  在我还没有和你 ...

随机推荐

  1. 【Demo】HTML5 拍照上传

    本文主要讲解 手机浏览器 如何拍照 为什么会有这个需求 最近做一个项目要用到拍照然后上传照片,但是网页拍照一般都是用Flash做的,而我们主要是H5页面,如果在微信里面有权限就可以通过JSSDK调起摄 ...

  2. HBase学习笔记-高级(一)

    HBase1. hbase.id记录了集群的唯一标识:hbase.version记录了文件格式的版本号2. split和.corrupt目录在日志分裂过程中使用,以便保存一些中间结果和损坏的日志在表目 ...

  3. Python基本数据类型之list列表

    列表是python中用的非常频繁的数据结构,它是有序序列.之前学的字符串就是一种有序序列.不过列表是可变的. 创建列表 li = list( )                          #构 ...

  4. 在express项目中有效组织和使用mongoose

    平凡之路 1.创建express项目 express mongooseExpress 2.最简express var express = require("express"); v ...

  5. 各个JSON技术的比较

    JSON技术的调研报告 一 .各个JSON技术的简介和优劣1.json-libjson-lib最开始的也是应用最广泛的json解析工具,json-lib 不好的地方确实是依赖于很多第三方包,包括com ...

  6. JAVA中使用JSON进行数据传递

    最近在做一个基于JAVA Servlet的WEB应用以及对应的Anroid应用客户端的开发工作. 其中,在接口的访问和数据的传输方面使用的比较多的是使用JSON对象来操作格式化数据:在服务器端采用JS ...

  7. Magento PHP Extension "curl" must be loaded解决方法

    我记得我第一次在xampp装magento的时候,进入后台时提示PHP Extension "curl" must be loaded 在网页上查了下原因和解决方法,发现是mage ...

  8. Selenium2学习-001-Selenium2 WebUI自动化Java开发 Windows 环境配置

    此文主要介绍 Selenium2 WebUI自动化Java开发 Windows 环境配置,供各位亲们参考,若有不足之处,敬请各位大神指正,非常感谢! 所需软件列表如下所示: 所属分类 具体名称 备注 ...

  9. mongoDB 读书笔记(初级命令)

    关于mongoDB的相关知识,读书笔记,便于自己查阅用,不定期更新(纯手打)        <mongoDB权威指南> 一.创建更新和删除 1.创建 //批量插入一个集合可以节省时间,只用 ...

  10. leetcode算法

    Given a linked list, return the node where the cycle begins. If there is no cycle, returnnull. Follo ...