C#基于数据库链接增删改查
一、创建一个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());
}
}
}
C#基于数据库链接增删改查的更多相关文章
- python链接oracle数据库以及数据库的增删改查实例
初次使用python链接oracle,所以想记录下我遇到的问题,便于向我这样初次尝试的朋友能够快速的配置好环境进入开发环节. 1.首先,python链接oracle数据库需要配置好环境. 我的相关环境 ...
- TP5.1:数据库的增删改查操作(基于面向对象操作)
我们现实中对数据库的增删改查操作,都是使用模型类进行操作的(表名::),也就是面向对象操作,只有底层的代码用的是数据库操作(Db::table('表名')) 下面我将贴出模型类进行的增删改查操作,通过 ...
- 【转载】通过JDBC对MySQL数据库的增删改查
通过JDBC进行简单的增删改查(以MySQL为例) 目录 前言:什么是JDBC 一.准备工作(一):MySQL安装配置和基础学习 二.准备工作(二):下载数据库对应的jar包并导入 三.JDBC基本操 ...
- MySQL数据库学习笔记(十二)----开源工具DbUtils的使用(数据库的增删改查)
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- Android中Sqlite数据库进行增删改查
今天这篇文章写Sqlite数据库,通过一个小案例来完整讲一下数据库常见的CRUD操作. 先对知识点总结: SQLite数据库 轻量级关系型数据库 创建数据库需要使用的api:SQLiteOpenHel ...
- Mybatis_3.基于注解的增删改查
1.实体类User.java public class User { private int id; private String name; private int age; //getter.se ...
- Java操作数据库实现"增删改查"
本文主要讲解JDBC操作数据库 主要实现对MySql数据库的"增删改查" 综合概述: JDBC的常用类和接口 一 DriverManager类 DriverManage类 ...
- 用C#实现对MSSqlServer数据库的增删改查---DAL层
说明:本人完成的工作是对传感器--超声波物位计进行硬件集成,上位机通过串口接收传感器数据并将其存到数据库中:在DAL层实现对数据库的增删改查,其中包含两个数据表分别是WaterLevelSet表和Wa ...
- [译]聊聊C#中的泛型的使用(新手勿入) Seaching TreeVIew WPF 可编辑树Ztree的使用(包括对后台数据库的增删改查) 字段和属性的区别 C# 遍历Dictionary并修改其中的Value 学习笔记——异步 程序员常说的「哈希表」是个什么鬼?
[译]聊聊C#中的泛型的使用(新手勿入) 写在前面 今天忙里偷闲在浏览外文的时候看到一篇讲C#中泛型的使用的文章,因此加上本人的理解以及四级没过的英语水平斗胆给大伙进行了翻译,当然在翻译的过程中发 ...
- java web数据库的增删改查详细
本次课上实验是完成数据库的增删改查. 包括增加用户信息.删除用户信息.多条件查找用户信息.修改用户信息(主要是复选框单选框等的相关操作.) 下面下看一下各个界面的样子. 总页面:显示全部页面:增加页面 ...
随机推荐
- 使用git下载文件时提示身份验证失败
鼠标右键打开Git Bash Here窗口 输入git clone + 网址 后出现身份报错提示信息 需要重新修改一下用户名和邮箱就可以了 git config --global --replace- ...
- mybatis_01 初运行
maven坐标 <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</ ...
- pyton3 字典排序
1. 字典排序 d={'a':1,'c':3,'b':2} d1={k:d[k] for k in sorted(d)}
- 使用pip安装PySide6
https://www.perfcode.com/p/pip-install-pyside6.html 要求 在安装PySide6之前,你必须先安装Python 3.6 以上版本: 安装PySide6 ...
- html元素全屏展示
参数传入dom对象即可,注意不是jQuery对象,Vue下兼容 /** * 面板全屏展示 */ fullscreen: function () { if (this.isFullScreen) { / ...
- codeforces 1391E Pairs of Pairs dfs树的性质
https://codeforces.com/problemset/problem/1391/E 题意:给一个无向图,找出以下任意一种输出答案 1,长度>=n/2(上界)的简单路径(没有同一个点 ...
- BIP查询框添加查询条件
// 搜索框添加查询条件 viewModel.on("afterMount", function (data) { let agentId = viewModel.getParam ...
- .net中微信、支付宝回调
需求:自助机调用接口生成二维码,用户扫描二维码付款后,回调方法里写入到数据库,自助机轮询查数据库判断用户是否付款. 1 using bk.Services.Log; 2 using bk.web.Co ...
- Pr视频软件主要知识点
1,选中某一个面板,点击"Tab键上的 '波浪号' 键"即可将这个面板全屏展示 . 2,新建序列项目:自定义,25帧/s,方形像素,无场(逐行扫描). 3,序列面板素材自动缩放适 ...
- WCF部署HTTP错误404.3
错误:WCF部署HTTP错误404.3-Not Found 由于扩展配置问题而无法提供您请求的页面.如果该页面是脚本,请添加处理程序.如果应下载文件,请添加MIME映射. 解决步骤如下: 控制面板-& ...