一、創建一個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());
}
}
}

浙公網安備 33010602011771號