一、创建一个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());
       
        }
    }
}
posted on 2022-11-24 22:48  dongwenchun  阅读(169)  评论(0编辑  收藏  举报