一、创建一个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. C++的右值引用是左值,rvalue reference is lvalue.

    参考: https://stackoverflow.com/questions/28483250/rvalue-reference-is-treated-as-an-lvalue

  2. Oracle View的 WITH READ ONLY 參數有什麼用途?

    限制此視圖只能select,不能進行DML(update,delete,insert)操作,可以保護源表的數據不被改動. CREATE VIEW XXXXX_V AS select XXX,XXX1, ...

  3. [*]Quadratic Residual Networks: A New Class of Neural Networks for Solving Forward and Inverse Problems in Physics Involving PDEs

    Accepted by SIAM International Conference on Data Mining (SDM21) 本文提出了二次残差网络,通过在应用激活函数之前,添加二次残差项到输入的 ...

  4. centos6根分区扩容,非lvm

    1.关闭虚拟机,删除里面的快照,将磁盘扩容 2.根分区为sda3,开机后输入fdisk /dev/sda,d,3删除sda3,然后n,p,3,w创建sda3,扇区的开始位置要一致 3.growpart ...

  5. SAP管理员SAP*和DDIC被锁定后如何解锁或重置密码

    SAP*初始化密码是06071992或passDDIC默认密码为19920706 环境信息:win server2003,SQL Server2008 R2 账号信息存在于数据库usr02表中,1.删 ...

  6. outlook初用

    以前一直用 Foxmail 收发邮件,由于公司用到 sharepoint 可以跟 outlook 绑定,试了下 outlook. 第一次用 outlook 以为也是跟 foxmail 一样简单配置一下 ...

  7. select控件操作汇总

    1.通过select的text来选中对应的option $("#dddddd option:contains('小型车')").attr("selected", ...

  8. pgsql 查询结果转换为json数组

    select array_to_json(array_agg(row_to_json(t))) from (SELECT * FROM test) t

  9. 全网echarts案例资源大总结和echarts的高效使用技巧(细节版)

    全网echarts案例资源大总结和echarts的高效使用技巧(细节版) 众所周知,在现今的开发大环境下,数据可视化(大屏化)项目在前端开发中的比重越来越大.而其中使用率最高的插件无疑就是 Apach ...

  10. nuxt项目中使用store

    首先初始化创建一个nuxt项目 nuxt项目创建以后,内部已自动集成store,所以无需再单独安装和引入 在根目录的store文件夹下新建文件,例如home.js //home.js export c ...