一、创建一个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. 使用git下载文件时提示身份验证失败

    鼠标右键打开Git Bash Here窗口 输入git clone + 网址 后出现身份报错提示信息 需要重新修改一下用户名和邮箱就可以了 git config --global --replace- ...

  2. Mybatis动态SQL语句大全

    读完这篇文章里你能收获到 Mybatis动态SQL语句大全 Mybatis中如何定义变量 Mybatis中如何提取公共的SQL片段 1. If 语句 需求:根据作者名字和博客名字来查询博客!如果作者名 ...

  3. raid 0 与raid 1的区别?

    区别共有三点: 1.两者的概念不同: RAID 0:是多磁盘数据分组同步写读. RAID 1:是多磁盘同数据同步写读. 2.两者的安全性不同: RAID 0:无数据备份功能,安全性差. RAID 1: ...

  4. 记一次couchbase(memcached)安装以及使用

    环境 CentOs 6.5 final 1.下载软件包 wget http://packages.couchbase.com/releases/2.1.0/couchbase-server-enter ...

  5. 如何修改vagrant系统的root用户密码

    1. 先使用vagrant 用户登录. 2. $sudo passwd root #按照提示输入两次新的密码,并加以确认. 然后就可以修改root用户密码

  6. maven重点分析

    目录 什么是maven pom.xml 约定大于配置 根元素和必要配置 父项目和parent元素 项目构建需要的信息 路径管理 资源管理 详细使用 filtering的使用 怎么理解pom中多个res ...

  7. pytorch MNIST加载已下载的数据集出现问题及解决方法

    import torch import torch.nn as nn from torch.autograd import Variable import torchvision import tor ...

  8. Hystrix-Dashboard可视化

    Hystrix-Dashboard可视化 1.新建子项目引pom.xml <dependencies> <!--hystrix dashboard--> <depende ...

  9. SAP 常见函数

    *大小写转换 TRANSLATE STRING TO UPPER CASE. TRANSLATE STRING TO LOWER CASE. *前缀去零 CALL FUNCTION 'CONVERSI ...

  10. 访问远程服务-RPC 与 REST

    方法调用 所做的传递参数.传回结果都依赖于栈内存.所以Caller 调用者 Callee 被调用者应该同属一个进程,拥有相同的 栈内存, 进程间通信(Inter-Process Communicati ...