C#如何實現(xiàn)對sql server數(shù)據(jù)庫的增刪改查
更新時間:2022年01月24日 16:09:10 作者:我只是一只小小鳥
本文的主要內(nèi)容是C#實現(xiàn)對sql server數(shù)據(jù)庫的增刪改查,示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
一個專門實現(xiàn)sql server數(shù)據(jù)庫的增刪改查,以及將查詢的結(jié)果返回成表格等功能,分享代碼如下
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;//第一步:引用與sql相關(guān)的命名空間
using System.Data;//引用表的命名空間
//行注釋 ///段落注釋
/// <summary>
///第二步: 把命名空間刪掉,使得我們在以后的開發(fā)中不用去創(chuàng)建一個sqlhelper類的對象和引用它的命名空間。實現(xiàn)直接調(diào)用
/// </summary>
//第三步:在class前面加上一個public 實現(xiàn)我們可以在dal的任何地方中去調(diào)用它。
//public 叫公共類 它的訪問權(quán)限是最大的。 如果在class前面加上了它的話,那么這個類我們可以在當前的類庫中任意調(diào)用。
public class SqlHelper
{
//第四步:我們想要直接調(diào)用sqlHelper類,刪除命名空間是不夠的,我們還要把里面的方法和字段全部設(shè)置為靜態(tài)。
public static string connstr = "server=.;uid=sa;pwd=sa;database=rj1301";//公共的靜態(tài)的 連接字符串
public static int ExecuteScalar(string cmdText, params SqlParameter[] pms)
{
//params:不限長度的數(shù)組
//第一步:創(chuàng)建數(shù)據(jù)庫對象連接
SqlConnection conn = new SqlConnection(connstr);
//第二步:打開數(shù)據(jù)庫
conn.Open();
//第三步:創(chuàng)建數(shù)據(jù)庫命令對象和數(shù)據(jù)庫查詢語句
SqlCommand cmd = new SqlCommand(cmdText, conn);
//第四步:創(chuàng)建參數(shù)對象
//cmd.Parameters.Add(pms);//如果我們在這里直接放入pms數(shù)組,那么cmd添加進去的都是SqlParameter,而不是具體的參數(shù)。
// int[] ii = new int[5] { 1,2,3,4,5 };
if (pms != null)
{
//for (int i = 0; i <pms.Length; i++)
//{
// if (pms[i]!=null)
// {
// cmd.Parameters.Add(pms[i]);
// }
//}
foreach (SqlParameter item in pms)//第一個參數(shù):你的數(shù)據(jù)類型 //第二個參數(shù)是值 //第三個參數(shù):in 在什么什么里面 //第四個參數(shù) 數(shù)組的名稱
{
if (item != null)
{
cmd.Parameters.Add(item);
}
}
}
//第五步:返回結(jié)果
int i = Convert.ToInt32(cmd.ExecuteScalar());
//第六步:關(guān)閉數(shù)據(jù)庫
conn.Close();
//第六步:把最終的結(jié)果返回到外面去
return i;
}
public static int ExecuteNonQuery(string cmdText, params SqlParameter[] pms)
{
//params:不限長度的數(shù)組
//第一步:創(chuàng)建數(shù)據(jù)庫對象連接
SqlConnection conn = new SqlConnection(connstr);
//第二步:打開數(shù)據(jù)庫
conn.Open();
//第三步:創(chuàng)建數(shù)據(jù)庫命令對象和數(shù)據(jù)庫查詢語句
SqlCommand cmd = new SqlCommand(cmdText, conn);
//第四步:創(chuàng)建參數(shù)對象
//cmd.Parameters.Add(pms);//如果我們在這里直接放入pms數(shù)組,那么cmd添加進去的都是SqlParameter,而不是具體的參數(shù)。
// int[] ii = new int[5] { 1,2,3,4,5 };
if (pms != null)
{
//for (int i = 0; i <pms.Length; i++)
//{
// if (pms[i]!=null)
// {
// cmd.Parameters.Add(pms[i]);
// }
//}
foreach (SqlParameter item in pms)//第一個參數(shù):你的數(shù)據(jù)類型 //第二個參數(shù)是值 //第三個參數(shù):in 在什么什么里面 //第四個參數(shù) 數(shù)組的名稱
{
if (item != null)
{
cmd.Parameters.Add(item);
}
}
}
//第五步:返回結(jié)果
int i = Convert.ToInt32(cmd.ExecuteNonQuery());
//第六步:關(guān)閉數(shù)據(jù)庫
conn.Close();
//第六步:把最終的結(jié)果返回到外面去
return i;
}
//返回一張表
public static DataTable GetTable(string cmdText, params SqlParameter[] pms)
{
//params:不限長度的數(shù)組
//第一步:創(chuàng)建數(shù)據(jù)庫對象連接
SqlConnection conn = new SqlConnection(connstr);
//第二步:打開數(shù)據(jù)庫
conn.Open();
//第三步:創(chuàng)建數(shù)據(jù)庫命令對象和數(shù)據(jù)庫查詢語句
SqlCommand cmd = new SqlCommand(cmdText, conn);
//第四步:創(chuàng)建參數(shù)對象
//cmd.Parameters.Add(pms);//如果我們在這里直接放入pms數(shù)組,那么cmd添加進去的都是SqlParameter,而不是具體的參數(shù)。
// int[] ii = new int[5] { 1,2,3,4,5 };
if (pms != null)
{
//for (int i = 0; i <pms.Length; i++)
//{
// if (pms[i]!=null)
// {
// cmd.Parameters.Add(pms[i]);
// }
//}
foreach (SqlParameter item in pms)//第一個參數(shù):你的數(shù)據(jù)類型 //第二個參數(shù)是值 //第三個參數(shù):in 在什么什么里面 //第四個參數(shù) 數(shù)組的名稱
{
if (item != null)
{
cmd.Parameters.Add(item);
}
}
}
//5. SqlDataAdapter是.net中用于存放數(shù)組庫里面取出來的數(shù) 相當于我們現(xiàn)實生活中的容器
SqlDataAdapter sda = new SqlDataAdapter(cmd);
//6.去創(chuàng)建一個適配器 用來接受容器的
DataSet ds = new DataSet();
sda.Fill(ds,"aa");
conn.Close();
DataTable dt = ds.Tables["aa"];
return dt;
}
public static SqlDataReader GetReader(string cmdText, params SqlParameter[] pms)
{
SqlConnection conn = new SqlConnection(connstr);
//第二步:打開數(shù)據(jù)庫
conn.Open();
//第三步:創(chuàng)建數(shù)據(jù)庫命令對象和數(shù)據(jù)庫查詢語句
SqlCommand cmd = new SqlCommand(cmdText, conn);
//第四步:創(chuàng)建參數(shù)對象
//cmd.Parameters.Add(pms);//如果我們在這里直接放入pms數(shù)組,那么cmd添加進去的都是SqlParameter,而不是具體的參數(shù)。
// int[] ii = new int[5] { 1,2,3,4,5 };
if (pms != null)
{
//for (int i = 0; i <pms.Length; i++)
//{
// if (pms[i]!=null)
// {
// cmd.Parameters.Add(pms[i]);
// }
//}
foreach (SqlParameter item in pms)//第一個參數(shù):你的數(shù)據(jù)類型 //第二個參數(shù)是值 //第三個參數(shù):in 在什么什么里面 //第四個參數(shù) 數(shù)組的名稱
{
if (item != null)
{
cmd.Parameters.Add(item);
}
}
}
SqlDataReader sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);//把數(shù)據(jù)取出來以游標的形式放入sdr
return sdr;
}
}以上就是對sql server數(shù)據(jù)庫的增刪改查的實現(xiàn)代碼,希望對大家的學習有所幫助。
相關(guān)文章
C#設(shè)計模式之ChainOfResponsibility職責鏈模式解決真假美猴王問題實例
這篇文章主要介紹了C#設(shè)計模式之ChainOfResponsibility職責鏈模式解決真假美猴王問題,簡單說明了責任鏈模式的概念,并結(jié)合《西游記》中真假美猴王故事背景為實例分析了責任鏈模式的具體使用技巧,需要的朋友可以參考下2017-09-09
在C#中創(chuàng)建和讀取XML文件的實現(xiàn)方法
項目中需要將前臺頁面中的信息保存下來并存儲為xml文件格式到數(shù)據(jù)庫中去。因此我先在這里通過一個小實例來學習xml的創(chuàng)建與讀取2013-09-09
C#調(diào)用百度API實現(xiàn)活體檢測的方法
這篇文章主要給大家介紹了關(guān)于C#調(diào)用百度API實現(xiàn)活體檢測的方法,文中通過示例代碼介紹的非常詳細,對大家學習或者使用C#具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧2019-09-09
C#函數(shù)式編程中的遞歸調(diào)用之尾遞歸詳解
這篇文章主要介紹了C#函數(shù)式編程中的遞歸調(diào)用詳解,本文講解了什么是尾遞歸、尾遞歸的多種方式、尾遞歸的代碼實例等內(nèi)容,需要的朋友可以參考下2015-01-01

