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