C#窗体简单增删改查

2021-01-17 21:16

阅读:419

标签:man   command   des   view   dataset   build   eve   color   ESS   

数据库为sqlserver,结构如下:

技术图片技术图片

 

数据库数据

技术图片

 

 

 开发工具为visual studio2013

首先先拖动控件来搭建出简单的页面如下,其中增删改查按钮这些控件都在toolstripe中,下面是DataGridView控件以显示数据库中数据

设置控件属性达到如下效果。

技术图片

 

结构:

技术图片

 

 

源代码:

连接数据库语句DBhelper.cs:(注意添加using System.Data.SqlClient;)


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using System.Data.SqlClient;

namespace xueshengchengjiguanli
{
    class DBhelper
    {
        private string connString ="server=.;database=student1;user=sa;pwd=root;";//连接数据库自己的用户名密码
        private SqlConnection connection;

        public SqlConnection Connection
       {
            get
            {
                if (connection == null)
                {
                    connection = new SqlConnection(connString);
                }
                return connection;
            }
      
         }
        //打开数据库连接
        public void OpenConnection()
        {
            if (Connection.State == ConnectionState.Closed)
            {
                Connection.Open();
            }
            else if (Connection.State == ConnectionState.Broken)
            {
                Connection.Close();
                Connection.Open();
            }
        }
        //关闭数据库
        public void CloseConnection()
        {
            if (Connection.State == ConnectionState.Open || Connection.State == ConnectionState.Broken)
            {
                Connection.Close();
            }
        }
    }

}
 

主页面Form1.cs

  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 xueshengchengjiguanli
 13 {
 14     public partial class Form1 : Form
 15     {
 16         public Form1()
 17         {
 18             InitializeComponent();
 19         }
 20         DataSet ds = new DataSet();
 21         //获取数据方法
 22         private void GetDB()
 23         {
 24             ds = new DataSet();
 25             DBhelper dbhelper = new DBhelper();
 26             try
 27             {
 28                 string sql = @"Select Sno 学号,Sname 姓名,Sclass 班级,SChinese 语文,SMath 数学,SEnglish 英语,SChinese+SMath+SEnglish 总分,
 29                                   (SChinese+SMath+SEnglish)/3 平均分 from Score order by SChinese+SMath+SEnglish desc";
 30                 SqlDataAdapter adapter = new SqlDataAdapter(sql, dbhelper.Connection);
 31                 adapter.Fill(ds, "Score");
 32                 this.dgv.DataSource = this.ds.Tables["Score"];
 33             }
 34             catch (Exception)
 35             {
 36 
 37                 MessageBox.Show("数据库操作错误", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
 38             }
 39         }
 40 
 41         //退出按钮被点击
 42         private void tsbtnExit_Click(object sender, EventArgs e)
 43         {
 44             this.Close();
 45         }
 46         //窗体加载事件
 47         private void Form1_Load(object sender, EventArgs e)
 48         {
 49             GetDB();
 50         }
 51         //添加按钮被点击
 52         private void tsbtnIn_Click(object sender, EventArgs e)
 53         {
 54             Edit ed = new Edit();
 55             ed.ShowDialog();
 56             GetDB();
 57         }
 58         //修改按钮被点击
 59         private void tsbtnUpdate_Click(object sender, EventArgs e)
 60         {
 61             Edit ed = new Edit();
 62             ed.Sno = Convert.ToInt32(this.dgv.SelectedCells[0].Value);
 63             ed.ShowDialog();
 64             GetDB();
 65         }
 66         //删除按钮被点击
 67         private void tsbtnDelete_Click(object sender, EventArgs e)
 68         {
 69             Delete();
 70         }
 71         //删除方法
 72         private void Delete()
 73         {
 74 
 75             if (this.dgv.CurrentRow != null)
 76             {
 77                 DialogResult dr = MessageBox.Show("确定要删除:" + dgv.CurrentRow.Cells[1].Value +"相关成绩信息", "系统提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);
 78                 if (dr == DialogResult.OK)
 79                 {
 80                     DBhelper helper = new DBhelper();
 81                     try
 82                     {
 83                         //sql语句
 84                         StringBuilder sb = new StringBuilder();
 85                         sb.AppendFormat("delete from Score where Sno={0}", Convert.ToInt32(dgv.CurrentRow.Cells[0].Value));
 86                         //执行工具
 87                         SqlCommand cmd = new SqlCommand(sb.ToString(), helper.Connection);
 88                         //打开数据库连接
 89                         helper.OpenConnection();
 90                         //执行
 91                         int result = cmd.ExecuteNonQuery();
 92                         if (result == 1)
 93                         {
 94                             MessageBox.Show("删除成功", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
 95                             //重新绑定dgv
 96                             this.GetDB();
 97                         }
 98                     }
 99                     catch (Exception)
100                     {
101 
102                         MessageBox.Show("数据库操作失败", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
103                     }
104                     finally
105                     {
106                         helper.CloseConnection();
107                     }
108                 }
109             }
110 
111         }
112 //查询按钮被点击
113         private void toolStripButton1_Click(object sender, EventArgs e)
114         {
115             this.Search();
116         }
//查询方法
117 private void Search() 118 { 119 ds = new DataSet(); 120 DBhelper dbHelper = new DBhelper(); 121 try 122 { 123 string strSql = @"Select Sno 学号,Sname 姓名,Sclass 班级,SChinese 语文,SMath 数学,SEnglish 英语,SChinese+SMath+SEnglish 总分, 124 (SChinese+SMath+SEnglish)/3 平均分 from Score 125 where 1=1"; 126 if (toolStripTextBox1.Text.Trim() != null && toolStripTextBox1.Text.Trim().Length > 0) 127 { 128 strSql += " and Sname like ‘%" + toolStripTextBox1.Text.Trim() + "%‘"; 129 } 130 if (toolStripTextBox2.Text.Trim() != null && toolStripTextBox2.Text.Trim().Length > 0) 131 { 132 strSql += " and Sclass like ‘%" + toolStripTextBox2.Text.Trim() + "%‘"; 133 } 134 strSql += "order by SChinese+SMath+SEnglish desc"; 135 SqlDataAdapter adapter = new SqlDataAdapter(strSql, dbHelper.Connection); 136 adapter.Fill(ds, "score"); 137 this.dgv.DataSource = this.ds.Tables["score"]; 138 } 139 catch (Exception) 140 { 141 MessageBox.Show("数据库操作错误!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information); 142 } 143 } 144 145 146 } 147 }

编辑页面Edit.cs

页面:技术图片

 

 

  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 xueshengchengjiguanli
 13 {
 14     public partial class Edit : Form
 15     {
 16         //变量
 17         public int Sno = -1;
 18         DataSet ds = new DataSet();
 19         public Edit()
 20         {
 21             InitializeComponent();
 22         }
 23         //窗体加载
 24         private void Edit_Load(object sender, EventArgs e)
 25         {
 26             if (Sno == -1)//没有被选定的行数
 27             {
 28 
 29             }
 30             else//修改
 31             {
 32                 GetInfo();
 33                 this.btnSave.Text = "修改";
 34             }
 35         }
 36         //保存按钮
 37         private void btnSave_Click(object sender, EventArgs e)
 38         {
 39             if (CheckItem())
 40             {
 41                 if (this.Sno == -1)//新增
 42                 {
 43                     if (CheckSnoExit())
 44                     {
 45                         InsertDB();
 46                     }
 47                 }
 48                 else//更新
 49                 {
 50                     UpdateScore();
 51                 }
 52             }
 53         }
 54         //非空验证
 55         private bool CheckItem()
 56         {
 57             bool checkValue = true;
 58             if (this.textBox1.Text.Trim().Length == 0)
 59             {
 60                 MessageBox.Show("学号不能为空", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
 61                 checkValue = false;
 62                 this.textBox1.Text = " ";
 63             }
 64             return checkValue;
 65         }
 66         //增加方法
 67         //查重
 68         private bool CheckSnoExit()
 69         {
 70             bool exit = true;
 71             DBhelper dbhelper = new DBhelper();
 72             try
 73             {
 74                 StringBuilder sb = new StringBuilder();
 75                 sb.AppendFormat("select * from Score where Sno=‘{0}‘", textBox1.Text.Trim());
 76                 SqlCommand cmd = new SqlCommand(sb.ToString(), dbhelper.Connection);
 77                 dbhelper.OpenConnection();
 78                 SqlDataReader reader = cmd.ExecuteReader();
 79                 if (reader.Read())
 80                 {
 81                     MessageBox.Show("该学号已存在", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
 82                     exit = false;
 83                 }
 84                 reader.Close();
 85             }
 86             catch (Exception)
 87             {
 88                 MessageBox.Show("数据库操作错误", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
 89             }
 90             finally
 91             {
 92                 dbhelper.CloseConnection();
 93             }
 94             return exit;
 95         }
 96         //执行增加
 97         private void InsertDB()
 98         {
 99             DBhelper helper = new DBhelper();
100             try
101             {
102                 //SQL语句
103                 StringBuilder sb = new StringBuilder();
104                 sb.AppendLine("insert into Score");
105                 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());
106                 //执行工具
107                 SqlCommand cmd = new SqlCommand(sb.ToString(), helper.Connection);
108                 //打开连接
109                 helper.OpenConnection();
110                 //执行
111                 int result = cmd.ExecuteNonQuery();
112                 if (result > 0)
113                 {
114                     MessageBox.Show("添加成功", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
115                     this.Close();
116                 }
117             }
118             catch (Exception)
119             {
120                 MessageBox.Show("添加数据库操作错误", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
121             }
122             finally
123             {
124                 helper.CloseConnection();
125             }
126         }
127 
128         //通过ID查找类别
129         private void GetInfo()
130         {
131             DBhelper dbhelper = new DBhelper();
132             try
133             {
134                 //SQL语句
135                 StringBuilder sb = new StringBuilder();
136                 sb.AppendLine("select Sno,Sname,Sclass,SChinese,SMath,SEnglish");
137                 sb.AppendLine("from Score");
138                 sb.AppendFormat("where Sno={0}", Sno);
139                 //执行工具
140                 SqlCommand cmd = new SqlCommand(sb.ToString(), dbhelper.Connection);
141                 //打开连接
142                 dbhelper.OpenConnection();
143                 //执行
144                 SqlDataReader reader = cmd.ExecuteReader();
145                 if (reader.Read())
146                 {
147                     textBox1.Text = reader["Sno"].ToString();
148                     textBox2.Text = reader["Sname"].ToString();
149                     comboBox1.Text = reader["Sclass"].ToString();
150                     textBox4.Text = reader["SChinese"].ToString();
151                     textBox5.Text = reader["SMath"].ToString();
152                     textBox6.Text = reader["SEnglish"].ToString();
153                 }
154                 reader.Close();
155             }
156             catch (Exception)
157             {
158                 MessageBox.Show("操作错误", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
159             }
160             finally
161             {
162                 dbhelper.CloseConnection();
163             }
164 
165         }
166         //修改
167         private void UpdateScore()
168         {
169             DBhelper helper = new DBhelper();
170             try
171             {
172                 StringBuilder sql = new StringBuilder();
173                 //修改数据库语句
174                 sql.AppendLine("update Score");
175                 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());
176                 sql.AppendFormat("where Sno={0}", Sno);
177                 //执行工具
178                 SqlCommand cmd = new SqlCommand(sql.ToString(), helper.Connection);
179                 //打开数据库连接
180                 helper.OpenConnection();
181                 //执行
182                 int result = cmd.ExecuteNonQuery();
183                 //判断
184                 if (result == 1)
185                 {
186 
187                     MessageBox.Show("修改成功", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
188                     this.Close();
189                 }
190                 else
191                 {
192 
193                     MessageBox.Show("修改失败", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
194                 }
195             }
196             catch (Exception)
197             {
198 
199                 MessageBox.Show("修改数据库操作错误", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
200             }
201             finally
202             {
203                 helper.CloseConnection();
204             }
205 
206         }
207         //取消按钮
208         private void button2_Click(object sender, EventArgs e)
209         {
210             this.Close();
211         }
212     }
213 }

运行结果如下:

技术图片

C#窗体简单增删改查

标签:man   command   des   view   dataset   build   eve   color   ESS   

原文地址:https://www.cnblogs.com/qq1793033075/p/12188268.html


评论


亲,登录后才可以留言!