辜渝傧

13037102709

027-87870986

教学实训

您当前的位置:首页 > 教学资源 > 实训方案 >

C#应用实训|任务2 添加、删除学生信息

发布者:唯众    布时间:2020-12-21 14:16:10    点击量:

任务描述

       单击主窗体菜单的添加、删除学生信息菜单,分别实现对学生信息的添加和删除功能,如果添加成功,则弹出“学生信息添加成功!”消息框,单击该窗体“关闭”按钮,关闭该窗体;删除学生信息时,如果输入的学号存在,则删除该记录,并弹出“删除成功!”消息框,如果输入的学号不存在,则弹出“学号不存在,无法删除!”消息框,单击该窗体“关闭”按钮,关闭该窗体。

知识引入

  1. 执行SQL语句(Command
       我们可以使用Command对象允许向数据库传递SQL脚本,以便检索和操作数据库中的数据。表8-3列出了.NET数据提供程序及其相应的命令类。
表8-3  .NET数据提供程序及相应的命令类
数据提供程序 命令类
SQL数据提供程序 SqlCommand
OLE DB数据提供程序 OleDbCommand
Oracle数据提供程序 OracleCommand
ODBC数据提供程序 OdbcCommand
 
       与数据库建立连接之后,可以使用Command对象执行命令并从数据源返回结果,例如对数据库执行T-SQL命令或存储过程。为了与数据库连接连接并执行命令,需要以gCommand对象的实例
表8-4列出了Command对象的常用属性和方法
表8-4  Command对象的常用属性和方法
属  说 
CommandText 表示Command对象将执行的SQL语句或存储过程
CommandType 表示Command对象的命令类型,包括StoreProcedure、Text和TableDirect。其中:StoreProcedure表示执行T-SQL存储过程,Text表示执行T-SQL语句
Connection 表示Command对象使用的活动连接
方  说 
ExecuteNonQuery 用于Command对象执行T-SQL的语句,对数据库的单项操作,如UPDATE,INSERT,DELETE。返回影响的行数
ExecuteReader 用于Command对象执行T-SQL的语句,对数据库的查询操作,赶回一个DataReader对象。
 

任务实现

添加、删除学生信息。
  1. 设计添加学生信息窗体(AddStudInfo.cs),效果如图8-3所示,窗体后台程序代码如下:
private void btnAdd_Click(object sender, EventArgs e)
{
    //数据库连接字符串
    string strConn = "server = .;uid = sa;pwd = 123456ab78;database = studentDB";
    //连接数据库
    SqlConnection sqlConn = new SqlConnection(strConn);
    /**************获取用户在界面上输入的数据*************/
    string stuId = txtStuId.Text;
    string stuName = txtStuName.Text;
    string stuBirthday = dtpBirthday.Value.ToString();
    string stuSex = cmbSex.Text;
    string stuAddress = txtStuAddress.Text;
    /*****************   执行SQL语句   ***************/
    string strsql = string.Format("insert into student values('{0}','{1}','{2}','{3}','{4}')",stuId,stuName,stuSex,stuBirthday,stuAddress);
    //创建命令对象,执行SQL语句
    SqlCommand cmd = new SqlCommand(strsql,sqlConn);
    //执行SQL语句
    try
    {
        sqlConn.Open();
        int n = cmd.ExecuteNonQuery(); //执行SQL语句,得到受影响的行数
        if (n > 0)
        {
            MessageBox.Show("学生信息添加成功!");
        }
        else
        {
            MessageBox.Show("学生信息添加失败!");
        }
    }catch(Exception ex)
    {
        MessageBox.Show("出现异常,原因:\n" + ex);
    }finally
    {
        sqlConn.Close();
    }
}
8-3关闭按钮单击事件代码如下:
private void btnClose_Click(object sender, EventArgs e)
{
    this.Close();
}
  1. 设计删除学生信息窗体(DelStudInfo.cs),效果如图8-5所示,窗体后台程序代码如下:
8-4
private void btnDel_Click(object sender, EventArgs e)
{
    //获取界面要删除的学号
    string stuID = txtStuId.Text;
    //数据库连接字符串
    string strConn = "server = .;uid = sa;pwd = 123456ab78;database = studentDB";
    //连接数据库
    SqlConnection sqlConn = new SqlConnection(strConn);
    //写SQL语句
    string strSql = string.Format("delete from student where stuID = '{0}'",stuID);
    //创建命令对象
    SqlCommand sqlCmd = new SqlCommand(strSql,sqlConn);
    //执行SQL语句
    try
    {
        sqlConn.Open();
        int n = sqlCmd.ExecuteNonQuery();
        if (n > 0)
        {
            MessageBox.Show("删除成功!");
        }
        else
        {
            MessageBox.Show("学号不存在,无法删除!");
        }
    }
    catch (Exception ex)
    {
        MessageBox.Show("出现异常,原因:\n" + ex);
    }
    finally
    {
        sqlConn.Close();
    }
}
8-5关闭按钮单击事件代码如下:
private void btnClose_Click(object sender, EventArgs e)
{
    this.Close();
}

任务小结

  1. Command 对象允许向数据库传递请求、检索和操纵数据库中的数据。
  2. 用于查询的Command和用于执行非查询的Command在使用上的异同。


上一篇:C#应用实训|任务1 连接数据库

下一篇:C#应用实训|任务3 查询、修改学生信息