C#基于数据库链接增删改查
2024-10-21 11:54:50
一、创建一个winfrom窗体
1、创建项目
2、创建一个链接数据的类
3、封装数据库的实体类(查询和增加)
在对数据操作时必须引用连个数据库using
using System.Data;
using System.Data.SqlClient;
数据库引用封装
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WinFromSqlCoion
{
public class SqlHelper
{
public string ConnectionString { get; set; } = "server=.;uid=sa;pwd=123;database=TestDb";//链接字符串
/// <summary>
/// 查询数据库
/// </summary>
/// <param name="cmdTxt"></param>
/// <param name="paramters"></param>
/// <returns></returns>
public DataTable ExecuteTable(string cmdTxt, SqlParameter[] paramters)//用与数据库链接和、注入输入参数
{
using (SqlConnection coon = new SqlConnection(ConnectionString))//链接对象
{
using (SqlCommand cmd =new SqlCommand(cmdTxt,coon))//创造数据命令
{
coon.Open();//打开数据库
cmd.Parameters.AddRange(paramters);//添加参数
SqlDataAdapter adapter = new SqlDataAdapter(cmd);//将命令放在一个载具进行使用。俗称老汉推车
DataSet ds = new DataSet();//=创建一个容器
adapter.Fill(ds);//将车上东西放到容器
coon.Close();//关闭链接
return ds.Tables[0];
}
}
}
/// <summary>
/// 增删改
/// </summary>
/// <param name="cmdTxt"></param>
/// <param name="paramters"></param>
/// <returns></returns>
public int ExecuteNonQuery(string cmdTxt, SqlParameter[] paramters)//用与数据库链接和、注入输入参数
{
using (SqlConnection coon = new SqlConnection(ConnectionString))//链接对象
{
using (SqlCommand cmd = new SqlCommand(cmdTxt, coon))//创造数据命令
{
coon.Open();//打开数据库
cmd.Parameters.AddRange(paramters);//添加参数
SqlDataAdapter adapter = new SqlDataAdapter(cmd);//将命令放在一个载具进行使用。俗称老汉推车
int num=cmd.ExecuteNonQuery();
coon.Close();//关闭链接
return num;
}
}
}
}
}
4、最后进行数据库操作
这里我们要注意的是注入参数一定要创建正确
代码如下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WinFromSqlCoion
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
string Sql = "select * from Users where id=@id";//执行语句
//实例化参数
SqlParameter[] sqlParameters =
{ new SqlParameter("@id",1 )
};
SqlHelper sqlHelper = new SqlHelper();
dataGridView1.DataSource= sqlHelper.ExecuteTable(Sql, sqlParameters);//执行封装数据执行
string exsql = "INSERT INTO [dbo].[Users] (Email ,UserName)VALUES(@Email, @UserName)";
SqlParameter[] sqlParameteres =
{ new SqlParameter("@Email","ffgf" ),
new SqlParameter("@UserName","d55f" )
};
int num= sqlHelper.ExecuteNonQuery(exsql, sqlParameteres);//执行封装数据执行
MessageBox.Show("执行的数量为:"+num.ToString());
}
}
}
最新文章
- jpa+springmvc+springdata(一)
- JS for循环
- HTML5移动Web开发(四)——移动设计
- 利用 Rational ClearCase ClearMake 构建高性能的企业级构建环境
- Delphi CxGrid 汇总(2)
- Github readme语法-- markdown
- 在 VS14 上安装 Visual F# Power Tools
- jQuery源码,匿名函数自执行
- 关于“foreach循环”中遇到的几个问题总结
- Java之IO流补充
- JavaScript中的 true
- ES 18 - (底层原理) Elasticsearch写入索引数据的过程 以及优化写入过程
- 前端VUE框架-es6
- 用scrapy爬取京东的数据
- 已安装 SQL Server 2005,安装 SQL Server 2008 时提示需要删除 SQL Server 2005 Express 工具
- PL/SQL自定义函数
- 《流畅的python》读书笔记
- sitemap
- C/C++:copy control (拷贝控制)
- Linux之异步通知20160702
热门文章
- VM安装linux2022、设置root密码、设置国内更新源
- ES bool查询
- 04jsp(1)
- $\bf{X} \bf{X}^T$和$ \bf{X}^T \bf{X}$的非零特征值和特征向量之间的关系
- .Net Core 中使用NLog替代默认日志
- K8S实现不同节点POD获取不同IP
- 从COM域名即将涨价看如何控制域名成本问题
- vue3.0使用富文本编辑器VueQuill
- HTML学习笔记1----HTML是什么
- Zero-Shot Temporal Action Detection via Vision-Language Prompting概述