一、创建一个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());
       
        }
    }
}

最新文章

  1. jpa+springmvc+springdata(一)
  2. JS for循环
  3. HTML5移动Web开发(四)——移动设计
  4. 利用 Rational ClearCase ClearMake 构建高性能的企业级构建环境
  5. Delphi CxGrid 汇总(2)
  6. Github readme语法-- markdown
  7. 在 VS14 上安装 Visual F# Power Tools
  8. jQuery源码,匿名函数自执行
  9. 关于“foreach循环”中遇到的几个问题总结
  10. Java之IO流补充
  11. JavaScript中的 true
  12. ES 18 - (底层原理) Elasticsearch写入索引数据的过程 以及优化写入过程
  13. 前端VUE框架-es6
  14. 用scrapy爬取京东的数据
  15. 已安装 SQL Server 2005,安装 SQL Server 2008 时提示需要删除 SQL Server 2005 Express 工具
  16. PL/SQL自定义函数
  17. 《流畅的python》读书笔记
  18. sitemap
  19. C/C++:copy control (拷贝控制)
  20. Linux之异步通知20160702

热门文章

  1. VM安装linux2022、设置root密码、设置国内更新源
  2. ES bool查询
  3. 04jsp(1)
  4. $\bf{X} \bf{X}^T$和$ \bf{X}^T \bf{X}$的非零特征值和特征向量之间的关系
  5. .Net Core 中使用NLog替代默认日志
  6. K8S实现不同节点POD获取不同IP
  7. 从COM域名即将涨价看如何控制域名成本问题
  8. vue3.0使用富文本编辑器VueQuill
  9. HTML学习笔记1----HTML是什么
  10. Zero-Shot Temporal Action Detection via Vision-Language Prompting概述