一、创建一个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#基于数据库链接增删改查的更多相关文章

  1. python链接oracle数据库以及数据库的增删改查实例

    初次使用python链接oracle,所以想记录下我遇到的问题,便于向我这样初次尝试的朋友能够快速的配置好环境进入开发环节. 1.首先,python链接oracle数据库需要配置好环境. 我的相关环境 ...

  2. TP5.1:数据库的增删改查操作(基于面向对象操作)

    我们现实中对数据库的增删改查操作,都是使用模型类进行操作的(表名::),也就是面向对象操作,只有底层的代码用的是数据库操作(Db::table('表名')) 下面我将贴出模型类进行的增删改查操作,通过 ...

  3. 【转载】通过JDBC对MySQL数据库的增删改查

    通过JDBC进行简单的增删改查(以MySQL为例) 目录 前言:什么是JDBC 一.准备工作(一):MySQL安装配置和基础学习 二.准备工作(二):下载数据库对应的jar包并导入 三.JDBC基本操 ...

  4. MySQL数据库学习笔记(十二)----开源工具DbUtils的使用(数据库的增删改查)

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  5. Android中Sqlite数据库进行增删改查

    今天这篇文章写Sqlite数据库,通过一个小案例来完整讲一下数据库常见的CRUD操作. 先对知识点总结: SQLite数据库 轻量级关系型数据库 创建数据库需要使用的api:SQLiteOpenHel ...

  6. Mybatis_3.基于注解的增删改查

    1.实体类User.java public class User { private int id; private String name; private int age; //getter.se ...

  7. Java操作数据库实现"增删改查"

    本文主要讲解JDBC操作数据库    主要实现对MySql数据库的"增删改查" 综合概述: JDBC的常用类和接口 一   DriverManager类 DriverManage类 ...

  8. 用C#实现对MSSqlServer数据库的增删改查---DAL层

    说明:本人完成的工作是对传感器--超声波物位计进行硬件集成,上位机通过串口接收传感器数据并将其存到数据库中:在DAL层实现对数据库的增删改查,其中包含两个数据表分别是WaterLevelSet表和Wa ...

  9. [译]聊聊C#中的泛型的使用(新手勿入) Seaching TreeVIew WPF 可编辑树Ztree的使用(包括对后台数据库的增删改查) 字段和属性的区别 C# 遍历Dictionary并修改其中的Value 学习笔记——异步 程序员常说的「哈希表」是个什么鬼?

    [译]聊聊C#中的泛型的使用(新手勿入)   写在前面 今天忙里偷闲在浏览外文的时候看到一篇讲C#中泛型的使用的文章,因此加上本人的理解以及四级没过的英语水平斗胆给大伙进行了翻译,当然在翻译的过程中发 ...

  10. java web数据库的增删改查详细

    本次课上实验是完成数据库的增删改查. 包括增加用户信息.删除用户信息.多条件查找用户信息.修改用户信息(主要是复选框单选框等的相关操作.) 下面下看一下各个界面的样子. 总页面:显示全部页面:增加页面 ...

随机推荐

  1. matlab读写文件操作

    文件相对路径 在编码中尽可能使用相对路径: 1.当前路径下,直接:' xxx.bin ' 2.在下一级路径下,使用:' .\下一级路径文件名\xxx.bin ' 3.在上一级路径下,使用:' ..\x ...

  2. ES bool查询

    一.bool查询包含四种操作 1.must 2.must not 3.filter 4.should 二.功能 1.must 对应mysql的 and a= 2.must not 对应mysql的 a ...

  3. atx

    https://github.com/openatx/atx-agent/releases/download/0.9.4/atx-agent_0.9.4_linux_386.tar.gz

  4. 关系型数据库,基表Guid 主键设值

    在我们开发过程,为了自动适应新增修改,可以对基表,Guid 类型进行如下设置: public bool IsTransient() {       return this.Id == Guid.Emp ...

  5. 微信退款报错 400 the ssl certificatie error / no required SSL certificate was sent ; Guzzle json_encode Type is not supported;

    bug随笔 一 起因. 在做一个点餐类小程序,本地测试ok.上测试的时候,突然就报错,微信退款失败. 二 Debug. 1. Debug trace到页面直接显示的是 : Type is not su ...

  6. 不符合Json格式都能被Gson 转成对象使用!!!

    问题描述: 在与前端测试的时候,前端下发商品档案,结构为{""items":[{A对象},{B对象},{C对象}]},他下发了504条数据,但我们插入数据库的时候 只有1 ...

  7. ComPiler200004:Library-Oriented Programming

    https://www.aliyun.com/jiaocheng/403982.html 摘要: Creating a simple, encapsulated, maintainable libra ...

  8. php递归算法多级分类

    /** * 递归实现无限极分类 * @param $array 分类数据 * @param $pid 父ID * @param $level 分类级别 * @return $list 分好类的数组 直 ...

  9. 安卓开发学习10-1:数据存储:Shared Preferences存储

    解析 什么是Shared Perferences 应用场景 配置信息 主题信息 游戏的积分信息等 存储路径 在本应用中的data-data-应用包-自定义名称xml文件下保存写入的数据信息 使用 获取 ...

  10. shell脚本操作mysql通用脚本

    作用:可以在写监控脚本时,将结果值保存到mysql数据库 使用方法:sh 脚本  库名称.表名称 字段=值 字段=值 字段=值 1.脚本 [root@localhost tmp]# cat writ_ ...