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数据库的增删改查详细
本次课上实验是完成数据库的增删改查. 包括增加用户信息.删除用户信息.多条件查找用户信息.修改用户信息(主要是复选框单选框等的相关操作.) 下面下看一下各个界面的样子. 总页面:显示全部页面:增加页面 ...
随机推荐
- Python使用pip安装第三方模块问题
安装时总会出现错误:pip is configured with locations that require TLS/SSL, however the ssl module in Python is ...
- vscode vue代码模板
{ "Print to console": { "prefix": "vue", "body": [ "< ...
- vue组件之间的传参
vue组件之间传参有三种传参方式'父传子','子传父','非父子组件之间传值' 父传子 父组件 <template> <CounterCom :num="5"&g ...
- Flink Application Development DataStream API Operators Overview-- Flink应用程序开发DataStream API操作符概览
目录 概览 DataStream转换 物理分区 任务链和资源组 翻译原文- Application Development DataStream API Operators 概览 操作符将一个或多个D ...
- react video
import React, { useRef, useState, useCallback } from 'react'; import './style.scss'; const typeCheck ...
- 前端电商 sku 的全排列算法
需求 需求描述起来很简单,有这样三个数组: let names = ["iPhone",'iPhone xs'] let colors = ['黑色','白色'] let stor ...
- SAP GGB0 校验
需求,针对财务凭证分配号的要求 在满足条件下进行必填校验 在需要的位置 创建确认 创建步骤,一般通过点击就可以形成需要的前提逻辑,也可以通过 设置->专门方式 来进行自定义编写. 如果前提条件是 ...
- vue 收藏
html: //收藏 <el-table-column prop="isOpen" label=""> <te ...
- 树莓派4B安装Gogs
https://www.labno3.com/2021/01/28/how-to-install-gogs-on-the-raspberry-pi/ https://gogs.io/docs/inst ...
- Redis设计实现-学习笔记
最近在准备面试,问到redis相关知识,只能说个皮毛,说的既不深入也不全面,所以抓紧突击一下,先学<redis设计与实现>. 选择看书的原因是: 书中全面深入,且能出书一定十分用心: 搜博 ...