当前位置: 首页 > web >正文

C#对SQLServer增删改查

1.创建数据库

在这里插入图片描述

2.SqlServerHelper

using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace WindowsFormsApp1
{internal class SqlServerHelper{/// <summary>/// 连接字符串/// </summary>private string strconn = string.Empty;public SqlServerHelper(string conn){//读取配置文件//strconn = ConfigurationManager.AppSettings["Conn"].ToString();//strconn = ConfigurationManager.ConnectionStrings["ConnectionString"].ToString();strconn = conn;}/// <summary>/// 执行增删改SQL语句/// </summary>/// <param name="cmdText">SQL语句</param>/// <returns></returns>public int ExecuteNonQuery(string cmdText){using (SqlConnection conn = new SqlConnection(strconn)){conn.Open();return ExecuteNonQuery(conn, cmdText);}}/// <summary>/// 执行增删改SQL语句/// </summary>/// <param name="conn">SqlConnection</param>/// <param name="cmdText">SQL语句<</param>/// <returns></returns>public int ExecuteNonQuery(SqlConnection conn, string cmdText){int res;using (SqlCommand cmd = new SqlCommand(cmdText, conn)){cmd.CommandType = CommandType.Text;res = cmd.ExecuteNonQuery();if (conn.State == ConnectionState.Open){conn.Close();conn.Dispose();}}return res;}/// <summary>/// 执行查询SQL语句/// </summary>/// <param name="cmdText">SQL语句</param>/// <returns></returns>public DataTable ExecuteDataTable(string cmdText){using (SqlConnection conn = new SqlConnection(strconn)){conn.Open();return ExecuteDataTable(conn, cmdText);}}/// <summary>/// 执行查询SQL语句/// </summary>/// <param name="conn">SqlConnection</param>/// <param name="cmdText">SQL语句</param>/// <returns></returns>private DataTable ExecuteDataTable(SqlConnection conn, string cmdText){DataTable dt = new DataTable();using (SqlCommand cmd = new SqlCommand(cmdText, conn)){cmd.CommandType = CommandType.Text;using (SqlDataAdapter sda = new SqlDataAdapter(cmd)){sda.Fill(dt);if (conn.State == ConnectionState.Open){conn.Close();conn.Dispose();}}}return dt;}/// <summary>/// 执行查询SQL语句/// </summary>/// <param name="cmdText">SQL语句</param>/// <returns></returns>public DataTable ExecuteQuery(string cmdText){using (SqlConnection conn = new SqlConnection(strconn)){conn.Open();return ExecuteQuery(conn, cmdText);}}/// <summary>/// 执行查询SQL语句/// </summary>/// <param name="conn">SqlConnection</param>/// <param name="cmdText">SQL语句</param>/// <returns></returns>public DataTable ExecuteQuery(SqlConnection conn, string cmdText){DataTable dt = new DataTable();using (SqlCommand cmd = new SqlCommand(cmdText, conn)){using (SqlDataReader sdr = cmd.ExecuteReader()){dt.Load(sdr);sdr.Close();sdr.Dispose();if (conn.State == ConnectionState.Open){conn.Close();conn.Dispose();}}}return dt;}}
}

3.WinForm代码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;namespace WindowsFormsApp1
{public partial class Form1: Form{private SqlServerHelper SqlServerHelpers;public Form1(){InitializeComponent();string conn = "Server=LAPTOP-J0SVE7KK;Database=sql;Integrated Security=True;";SqlServerHelpers = new SqlServerHelper(conn);}/// <summary>/// 查询/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void button1_Click(object sender, EventArgs e){string sql = "SELECT * FROM Student";DataTable dataTable = SqlServerHelpers.ExecuteQuery(sql);dataGridView1.DataSource = dataTable;}/// <summary>/// 修改/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void button2_Click(object sender, EventArgs e){// 正确的UPDATE语句string sql = "UPDATE Student SET Name='zhangsan' WHERE Name='张三'";// ExecuteNonQuery返回受影响的行数int affectedRows = SqlServerHelpers.ExecuteNonQuery(sql);// 显示操作结果if (affectedRows > 0){MessageBox.Show($"成功更新 {affectedRows} 条数据", "操作成功",MessageBoxButtons.OK, MessageBoxIcon.Information);// 刷新数据显示button1_Click(sender, e); // 调用查询按钮的点击事件重新加载数据}else{MessageBox.Show("没有数据被更新,请检查条件", "提示",MessageBoxButtons.OK, MessageBoxIcon.Warning);}           }/// <summary>/// 增加/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void button3_Click(object sender, EventArgs e){// 正确的UPDATE语句string sql = "insert into Student values('王五','77','88','99')";// ExecuteNonQuery返回受影响的行数int affectedRows = SqlServerHelpers.ExecuteNonQuery(sql);// 显示操作结果if (affectedRows > 0){MessageBox.Show($"成功更新 {affectedRows} 条数据", "操作成功",MessageBoxButtons.OK, MessageBoxIcon.Information);// 刷新数据显示button1_Click(sender, e); // 调用查询按钮的点击事件重新加载数据}else{MessageBox.Show("没有数据被更新,请检查条件", "提示",MessageBoxButtons.OK, MessageBoxIcon.Warning);}}/// <summary>///删除/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void button4_Click(object sender, EventArgs e){// 正确的UPDATE语句string sql = "delete from Student where Name='王五'";// ExecuteNonQuery返回受影响的行数int affectedRows = SqlServerHelpers.ExecuteNonQuery(sql);// 显示操作结果if (affectedRows > 0){MessageBox.Show($"成功更新 {affectedRows} 条数据", "操作成功",MessageBoxButtons.OK, MessageBoxIcon.Information);// 刷新数据显示button1_Click(sender, e); // 调用查询按钮的点击事件重新加载数据}else{MessageBox.Show("没有数据被更新,请检查条件", "提示",MessageBoxButtons.OK, MessageBoxIcon.Warning);}}}
}

在这里插入图片描述

5绑定表格数据源


数据源与数据库列名一致

http://www.xdnf.cn/news/4402.html

相关文章:

  • 支持向量机
  • 2025数字中国创新大赛-数字安全赛道数据安全产业积分争夺赛决赛Writeup
  • JumpServer批量添加资产
  • linux环境openssh升级到openssh-10.0p1
  • RabbitMQ如何保证消息不丢失?
  • 【Leetcode 每日一题 - 扩展】3342. 到达最后一个房间的最少时间 II
  • 什么是 token-level 嵌入
  • JVM局部变量表和操作数栈的内存布局
  • C24-数组
  • MedCLIP-SAMv2 实验计划
  • DevExpressWinForms-AlertControl-使用教程
  • 【计算机视觉】OpenCV项目实战:OpenCV_Position 项目深度解析:基于 OpenCV 的相机定位技术
  • 深入探讨 UDP 协议与多线程 HTTP 服务器
  • python-71-基于pyecharts的通用绘图流程
  • 路由器NAT回流踩坑
  • 边缘计算:开启智能新时代的“秘密武器”
  • 性能比拼: HTTP/2 vs. HTTP/3
  • 基于大模型的输卵管妊娠全流程预测与治疗方案研究报告
  • MCP连接Agent:AI时代的TCP/IP
  • 新能源汽车中的NVM计时与RTC计时:区别与应用详解
  • XSS 攻击:深入剖析“暗藏在网页中的脚本“与防御之道
  • 怎么在非 hadoop 用户下启动 hadoop
  • PBR材质-Unity/Blender/UE
  • hadoop的运行模式
  • Web前端技术栈:从入门到进阶都需要学什么内容
  • 【Prompt工程—文生图】案例大全
  • c# LINQ-Query01
  • C 语言编码规范
  • Ubuntu也开始锈化了?Ubuntu 计划在 25.10 版本开始引入 Rust Coreutils
  • 鸿蒙开发——1.ArkTS声明式开发(UI范式基本语法)