首页 > 数据库 >C# 连接SQLSERVER数据库常用操作类

C# 连接SQLSERVER数据库常用操作类

时间:2022-11-11 09:26:25浏览次数:47  
标签:SqlConnection C# 数据库 cmd SQLSERVER sql using new con

//数据库连接字符串
public static string connectStr = @"server=.;database=test;uid=sa;pwd=123456;";

/// <summary>
/// 增删改操作类
/// </summary>
/// <param name="sql">执行的sql</param>
/// <returns></returns>
public static int ExecuteSql(string sql)
{
try
{
using (SqlConnection con = new SqlConnection(connectStr))
{
con.Open();
using (SqlCommand cmd = new SqlCommand(sql, con))
{
return cmd.ExecuteNonQuery();
}
}

}
catch (Exception ex)
{

throw ex;
}
}

/// <summary>
/// 查询sql
/// </summary>
/// <param name="sql">查询语句sql</param>
/// <returns></returns>
public static DataSet Query(string sql)
{
DataSet ds = new DataSet();
try
{
using (SqlConnection con = new SqlConnection(connectStr))
{
con.Open();
using (SqlDataAdapter cmd = new SqlDataAdapter(sql, con))
{
cmd.Fill(ds);
return ds;
}
}
}
catch (Exception)
{

throw;
}
}

/// <summary>
/// 执行增删改查存储过程
/// </summary>
/// <param name="ProcName">存储过程名</param>
/// <param name="parameter">存储过程参数</param>
/// <returns></returns>
public static int ExecuteProc(string ProcName, SqlParameter[] parameter)
{
try
{
using (SqlConnection con = new SqlConnection(connectStr))
{
con.Open();
using (SqlCommand cmd = new SqlCommand())
{
cmd.CommandText = ProcName;
cmd.CommandType = CommandType.StoredProcedure;
cmd.Connection = con;

for (int i = 0; i < parameter.Length; i++)
{
cmd.Parameters.Add(parameter[i]);
}

return cmd.ExecuteNonQuery();
}
}
}
catch (Exception)
{

throw;
}
}
/// <summary>
/// 执行查询的存储过程
/// </summary>
/// <param name="ProcName">存储过程名</param>
/// <param name="parameter">存储过程参数</param>
/// <returns></returns>
public static DataSet ExecuteProcQuery(string ProcName, SqlParameter[] parameter)
{
DataSet ds = new DataSet();
try
{
using (SqlConnection con = new SqlConnection(connectStr))
{
con.Open();
using (SqlCommand cmd = new SqlCommand())
{
cmd.CommandText = ProcName;
cmd.CommandType = CommandType.StoredProcedure;
cmd.Connection = con;

for (int i = 0; i < parameter.Length; i++)
{
cmd.Parameters.Add(parameter[i]);
}

SqlDataAdapter dt = new SqlDataAdapter(cmd);
dt.Fill(ds);
return ds;
}
}
}
catch (Exception)
{

throw;
}
}
/// <summary>
/// 执行事务
/// </summary>
/// <param name="sqls">执行的所有sql语句</param>
/// <returns></returns>
public static int ExecuteTranction(string sqls)
{

try
{
using (SqlConnection con = new SqlConnection(connectStr))
{
con.Open();

using (SqlTransaction transaction = con.BeginTransaction())
{


using (SqlCommand cmd = new SqlCommand())
{
try
{


cmd.CommandText = sqls;
cmd.Connection = con;
cmd.Transaction = transaction;
int i = cmd.ExecuteNonQuery();
transaction.Commit();
return i;
}
catch (Exception)
{
transaction.Rollback();

return 0;
}
}
}
}
}
catch (Exception)
{
return 0;
}
}

标签:SqlConnection,C#,数据库,cmd,SQLSERVER,sql,using,new,con
From: https://www.cnblogs.com/jiangge23/p/16879509.html

相关文章

  • RCP如何将视图的右键进行隐藏显示
    1、相关代码MyActionpackagemyviewrcp2;importorg.eclipse.core.runtime.Assert;importorg.eclipse.jface.action.Action;importorg.eclipse.jface.viewers.ISel......
  • 学习笔记-libc框架层的Hook利用
    系统框架层nativehooklibc函数符号hooklibc函数参数、返回值打印和替换主动调用libc读写文件hooklinkerdlopenfrida-trace引入例子,先hookpthread这个libc函......
  • 图卷积网络 GCN
    转载自梦家博客研究背景首先,为什么需要研究图卷积网络GCN(GraphConvolutionNetwork)呢?目前算法研究处理的数据主要分为两种:Euclidean结构数据:主要有图片、语音、文......
  • RCP给视图添加工具菜单和右键菜单
    1、代码privatevoidmakeActions(){action1=newAction(){publicvoidrun(){showMessage("Action1executed");......
  • ABC154F
    考虑容斥,拆成四部分,每部分都形如\[\sum_{i=0}^n\sum_{j=0}^mf(i,j)\]其中\(f(i,j)\)表示从\((0,0)\)走到\((i,j)\)的方案数,显然为\(\dbinom{i+j}{i}\)。而\[\su......
  • MVC和MVVM
    MVC、MVVM模式的概念与区别1.MVC框架MVC全名是ModelViewController,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显......
  • C/C++:探究二维数组的数组名
    C/C++:探究二维数组的数组名与数组指针先提一嘴:一维数组的数组名对于一个一维数组而言,其数组名是该数组的首地址,也就是一个数组首元素的指针,如下:#include<stdio.h>int......
  • 深度解密Go语言之sync.map
    工作中,经常会碰到并发读写map而造成panic的情况,为什么在并发读写的时候,会panic呢?因为在并发读写的情况下,map里的数据会被写乱,之后就是 Garbagein,garbageout,还......
  • VSCode如何让先前打开的文件不被自动关闭,一直保持在标签栏里(关闭预览模式)
    https://bbs.huaweicloud.com/blogs/320859 第一次接触VSCode-HuaweiIDE编辑器,每次打开一个新的代码文件,旧的代码文件都会被自动关闭(现在才知道是因为文件默认是以预览......
  • 如何开发Vite3插件构建Electron开发环境
    新用户购买《Electron+Vue3桌面应用开发》,加小册专属微信群,参与群抽奖,送《深入浅出Electron》、《Electron实战》作者签名版。1等奖:《深入浅出Electron》+《Electron......