zoukankan      html  css  js  c++  java
  • C# 增删改查 实例

    本次实现的是visual studio 的窗体应用程序+sql server的增删改查操作。

    1.首先看一下数据库的表结构,比较简单,只有一个表

    2.看一下项目的目录,只有标注的三个文件是需要修改的。

    3.然后看一下界面的实现,只有以下两个界面,Form1这个界面的上半部分是一个ToolStrip,下面的部分是DataGridView。Edit界面就是一些label,textBox以及button的组合,直接通过拖拽建议相应的界面即可。建立完页面后注意要修改相应插件的名称,就如第三张图所示,第三张图对应的是第一张图的DataGridView的名称。其他的插件的名称可以在源代码中找对应的,比较容易。

     4.具体代码实现

      1 using System;
      2 using System.Collections.Generic;
      3 using System.ComponentModel;
      4 using System.Data;
      5 using System.Data.SqlClient;
      6 using System.Drawing;
      7 using System.Linq;
      8 using System.Text;
      9 using System.Threading.Tasks;
     10 using System.Windows.Forms;
     11 
     12 namespace zengshangaicha
     13 {
     14     public partial class Form1 : Form
     15     {
     16         public Form1()
     17         {
     18             InitializeComponent();
     19         }
     20 
     21         DataSet ds = new DataSet();
     22         //获取数据方法
     23         private void GetDB()
     24         {
     25            
     26             ds = new DataSet();
     27             DBhelper dbhelper = new DBhelper();
     28             try
     29             {
     30                 string sql = @"Select Sno 学号,Sname 姓名,Sclass 班级,SChinese 语文,SMath 数学,SEnglish 英语,SChinese+SMath+SEnglish 总分,
     31                                   (SChinese+SMath+SEnglish)/3 平均分 from Score order by SChinese+SMath+SEnglish desc";
     32                 SqlDataAdapter adapter = new SqlDataAdapter(sql, dbhelper.Connection);
     33                 adapter.Fill(ds, "Score");
     34                 this.dgv.DataSource = this.ds.Tables["Score"];
     35             }
     36             catch (Exception)
     37             {
     38 
     39                 MessageBox.Show("数据库操作错误", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
     40             }
     41         }
     42 
     43         //退出按钮被点击
     44         private void tsbtnExit_Click(object sender, EventArgs e)
     45         {
     46             this.Close();
     47         }
     48         //窗体加载事件
     49         private void Form1_Load(object sender, EventArgs e)
     50         {
     51             GetDB();
     52         }
     53         //添加按钮被点击
     54         private void tsbtnIn_Click(object sender, EventArgs e)
     55         {
     56             Edit ed = new Edit();
     57             ed.ShowDialog();
     58             GetDB();
     59         }
     60         //修改按钮被点击
     61         private void tsbtnUpdate_Click(object sender, EventArgs e)
     62         {
     63             Edit ed = new Edit();
     64             ed.Sno = Convert.ToInt32(this.dgv.SelectedCells[0].Value);
     65             ed.ShowDialog();
     66             GetDB();
     67         }
     68         //删除按钮被点击
     69         private void tsbtnDelete_Click(object sender, EventArgs e)
     70         {
     71             Delete();
     72         }
     73         //删除方法
     74         private void Delete()
     75         {
     76 
     77             if (this.dgv.CurrentRow != null)
     78             {
     79                 DialogResult dr = MessageBox.Show("确定要删除:" + dgv.CurrentRow.Cells[1].Value + "相关成绩信息", "系统提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);
     80                 if (dr == DialogResult.OK)
     81                 {
     82                     DBhelper helper = new DBhelper();
     83                     try
     84                     {
     85                         //sql语句
     86                         StringBuilder sb = new StringBuilder();
     87                         sb.AppendFormat("delete from Score where Sno={0}", Convert.ToInt32(dgv.CurrentRow.Cells[0].Value));
     88                         //执行工具
     89                         SqlCommand cmd = new SqlCommand(sb.ToString(), helper.Connection);
     90                         //打开数据库连接
     91                         helper.OpenConnection();
     92                         //执行
     93                         int result = cmd.ExecuteNonQuery();
     94                         if (result == 1)
     95                         {
     96                             MessageBox.Show("删除成功", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
     97                             //重新绑定dgv
     98                             this.GetDB();
     99                         }
    100                     }
    101                     catch (Exception)
    102                     {
    103 
    104                         MessageBox.Show("数据库操作失败", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
    105                     }
    106                     finally
    107                     {
    108                         helper.CloseConnection();
    109                     }
    110                 }
    111             }
    112 
    113         }
    114         //查询按钮被点击
    115         private void toolStripButton1_Click(object sender, EventArgs e)
    116         {
    117             this.Search();
    118         }     //查询方法
    119         private void Search()
    120         {
    121             ds = new DataSet();
    122             DBhelper dbHelper = new DBhelper();
    123             try
    124             {
    125                 string strSql = @"Select Sno 学号,Sname 姓名,Sclass 班级,SChinese 语文,SMath 数学,SEnglish 英语,SChinese+SMath+SEnglish 总分,
    126                                   (SChinese+SMath+SEnglish)/3 平均分 from Score
    127                                  where 1=1";
    128                 if (toolStripTextBox1.Text.Trim() != null && toolStripTextBox1.Text.Trim().Length > 0)
    129                 {
    130                     strSql += " and Sname like '%" + toolStripTextBox1.Text.Trim() + "%'";
    131                 }
    132                 if (toolStripTextBox2.Text.Trim() != null && toolStripTextBox2.Text.Trim().Length > 0)
    133                 {
    134                     strSql += " and Sclass like '%" + toolStripTextBox2.Text.Trim() + "%'";
    135                 }
    136                 strSql += "order by SChinese+SMath+SEnglish desc";
    137                 SqlDataAdapter adapter = new SqlDataAdapter(strSql, dbHelper.Connection);
    138                 adapter.Fill(ds, "score");
    139                 this.dgv.DataSource = this.ds.Tables["score"];
    140             }
    141             catch (Exception)
    142             {
    143                 MessageBox.Show("数据库操作错误!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
    144             }
    145         }
    146 
    147         
    148     }
    149 }
    Form1
      1 using System;
      2 using System.Collections.Generic;
      3 using System.ComponentModel;
      4 using System.Data;
      5 using System.Data.SqlClient;
      6 using System.Drawing;
      7 using System.Linq;
      8 using System.Text;
      9 using System.Threading.Tasks;
     10 using System.Windows.Forms;
     11 
     12 namespace zengshangaicha
     13 {
     14     public partial class Edit : Form
     15     {
     16         public int Sno = -1;
     17         DataSet ds = new DataSet();
     18         public Edit()
     19         {
     20             InitializeComponent();
     21         }
     22         //窗体加载
     23         private void Edit_Load(object sender, EventArgs e)
     24         {
     25             if (Sno == -1)//没有被选定的行数
     26             {
     27 
     28             }
     29             else//修改
     30             {
     31                 GetInfo();
     32                 this.btnSave.Text = "修改";
     33             }
     34         }
     35         //保存按钮
     36         private void btnSave_Click(object sender, EventArgs e)
     37         {
     38             if (CheckItem())
     39             {
     40                 if (this.Sno == -1)//新增
     41                 {
     42                     if (CheckSnoExit())
     43                     {
     44                         InsertDB();
     45                     }
     46                 }
     47                 else//更新
     48                 {
     49                     UpdateScore();
     50                 }
     51             }
     52         }
     53         //非空验证
     54         private bool CheckItem()
     55         {
     56             bool checkValue = true;
     57             if (this.textBox1.Text.Trim().Length == 0)
     58             {
     59                 MessageBox.Show("学号不能为空", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
     60                 checkValue = false;
     61                 this.textBox1.Text = " ";
     62             }
     63             return checkValue;
     64         }
     65         //增加方法
     66         //查重
     67         private bool CheckSnoExit()
     68         {
     69             bool exit = true;
     70             DBhelper dbhelper = new DBhelper();
     71             try
     72             {
     73                 StringBuilder sb = new StringBuilder();
     74                 sb.AppendFormat("select * from Score where Sno='{0}'", textBox1.Text.Trim());
     75                 SqlCommand cmd = new SqlCommand(sb.ToString(), dbhelper.Connection);
     76                 dbhelper.OpenConnection();
     77                 SqlDataReader reader = cmd.ExecuteReader();
     78                 if (reader.Read())
     79                 {
     80                     MessageBox.Show("该学号已存在", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
     81                     exit = false;
     82                 }
     83                 reader.Close();
     84             }
     85             catch (Exception)
     86             {
     87                 MessageBox.Show("数据库操作错误", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
     88             }
     89             finally
     90             {
     91                 dbhelper.CloseConnection();
     92             }
     93             return exit;
     94         }
     95         //执行增加
     96         private void InsertDB()
     97         {
     98             DBhelper helper = new DBhelper();
     99             try
    100             {
    101                 //SQL语句
    102                 StringBuilder sb = new StringBuilder();
    103                 sb.AppendLine("insert into Score");
    104                 sb.AppendFormat("values('{0}','{1}','{2}','{3}','{4}','{5}')", textBox1.Text.Trim(), textBox2.Text.Trim(), comboBox1.Text.Trim(), textBox4.Text.Trim(), textBox5.Text.Trim(), textBox6.Text.Trim());
    105                 //执行工具
    106                 SqlCommand cmd = new SqlCommand(sb.ToString(), helper.Connection);
    107                 //打开连接
    108                 helper.OpenConnection();
    109                 //执行
    110                 int result = cmd.ExecuteNonQuery();
    111                 if (result > 0)
    112                 {
    113                     MessageBox.Show("添加成功", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
    114                     this.Close();
    115                 }
    116             }
    117             catch (Exception)
    118             {
    119                 MessageBox.Show("添加数据库操作错误", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
    120             }
    121             finally
    122             {
    123                 helper.CloseConnection();
    124             }
    125         }
    126 
    127         //通过ID查找类别
    128         private void GetInfo()
    129         {
    130             DBhelper dbhelper = new DBhelper();
    131             try
    132             {
    133                 //SQL语句
    134                 StringBuilder sb = new StringBuilder();
    135                 sb.AppendLine("select Sno,Sname,Sclass,SChinese,SMath,SEnglish");
    136                 sb.AppendLine("from Score");
    137                 sb.AppendFormat("where Sno={0}", Sno);
    138                 //执行工具
    139                 SqlCommand cmd = new SqlCommand(sb.ToString(), dbhelper.Connection);
    140                 //打开连接
    141                 dbhelper.OpenConnection();
    142                 //执行
    143                 SqlDataReader reader = cmd.ExecuteReader();
    144                 if (reader.Read())
    145                 {
    146                     textBox1.Text = reader["Sno"].ToString();
    147                     textBox2.Text = reader["Sname"].ToString();
    148                     comboBox1.Text = reader["Sclass"].ToString();
    149                     textBox4.Text = reader["SChinese"].ToString();
    150                     textBox5.Text = reader["SMath"].ToString();
    151                     textBox6.Text = reader["SEnglish"].ToString();
    152                 }
    153                 reader.Close();
    154             }
    155             catch (Exception)
    156             {
    157                 MessageBox.Show("操作错误", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
    158             }
    159             finally
    160             {
    161                 dbhelper.CloseConnection();
    162             }
    163 
    164         }
    165         //修改
    166         private void UpdateScore()
    167         {
    168             DBhelper helper = new DBhelper();
    169             try
    170             {
    171                 StringBuilder sql = new StringBuilder();
    172                 //修改数据库语句
    173                 sql.AppendLine("update Score");
    174                 sql.AppendFormat("set Sname='{0}',Sclass='{1}',SChinese='{2}',SMath='{3}',SEnglish='{4}'", textBox2.Text.Trim(), comboBox1.Text.Trim(), textBox4.Text.Trim(), textBox5.Text.Trim(), textBox6.Text.Trim());
    175                 sql.AppendFormat("where Sno={0}", Sno);
    176                 //执行工具
    177                 SqlCommand cmd = new SqlCommand(sql.ToString(), helper.Connection);
    178                 //打开数据库连接
    179                 helper.OpenConnection();
    180                 //执行
    181                 int result = cmd.ExecuteNonQuery();
    182                 //判断
    183                 if (result == 1)
    184                 {
    185 
    186                     MessageBox.Show("修改成功", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
    187                     this.Close();
    188                 }
    189                 else
    190                 {
    191 
    192                     MessageBox.Show("修改失败", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
    193                 }
    194             }
    195             catch (Exception)
    196             {
    197 
    198                 MessageBox.Show("修改数据库操作错误", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
    199             }
    200             finally
    201             {
    202                 helper.CloseConnection();
    203             }
    204 
    205         }
    206         //取消按钮
    207         private void button2_Click(object sender, EventArgs e)
    208         {
    209             this.Close();
    210         }
    211 
    212        
    213     }
    214 }
    Edit
     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Text;
     5 using System.Threading.Tasks;
     6 using System.Data;
     7 using System.Data.SqlClient;
     8 using System.Windows.Forms;
     9 
    10 namespace zengshangaicha
    11 {
    12     class DBhelper
    13     {
    14        
    15         private string connString = "server=.;database=student1;user=sa;pwd=000000;";//连接数据库自己的用户名密码
    16         private SqlConnection connection;
    17 
    18         public SqlConnection Connection
    19         {
    20             get
    21             {
    22                 if (connection == null)
    23                 {
    24                    
    25                     connection = new SqlConnection(connString);
    26                 }
    27                 return connection;
    28             }
    29 
    30         }
    31         //打开数据库连接
    32         public void OpenConnection()
    33         {
    34             if (Connection.State == ConnectionState.Closed)
    35             {
    36                
    37                 Connection.Open();
    38             }
    39             else if (Connection.State == ConnectionState.Broken)
    40             {
    41                 Connection.Close();
    42                 Connection.Open();
    43             }
    44         }
    45         //关闭数据库
    46         public void CloseConnection()
    47         {
    48             if (Connection.State == ConnectionState.Open || Connection.State == ConnectionState.Broken)
    49             {
    50                 Connection.Close();
    51             }
    52         }
    53     }
    54 }
    DBhelper

    4.在复制代码的时候,需要注意的是,在下面这张图里面的点击事件是不会自动添加的,需要自己手动写一下,具体格式如第二张图所示。

    至此,增删改查完毕。

    以下是原文链接:https://www.cnblogs.com/qq1793033075/p/12188268.html

  • 相关阅读:
    ubuntu下安装maven
    159.Longest Substring with At Most Two Distinct Characters
    156.Binary Tree Upside Down
    155.Min Stack
    154.Find Minimum in Rotated Sorted Array II
    153.Find Minimum in Rotated Sorted Array
    152.Maximum Product Subarray
    151.Reverse Words in a String
    150.Evaluate Reverse Polish Notation
    149.Max Points on a Line
  • 原文地址:https://www.cnblogs.com/wfswf/p/15434965.html
Copyright © 2011-2022 走看看