首页 > 数据库 >C#读写SQL Server的操作,仅作为记录

C#读写SQL Server的操作,仅作为记录

时间:2023-12-17 20:33:50浏览次数:27  
标签:using C# cmd Server CommandType SQL new con

public static string connStr = "Server=127.0.0.1;Database=WJB;User Id=sa;Password=XXXXXX";
/// <summary>
/// 根据SQL语句返回所查询的DataTable对像,有参数
/// </summary>
/// <param name="sql">SQL语句</param>
/// <param name="param">SqlParameter参数</param>
/// <param name="type"></param>
/// <returns></returns>
public static DataTable GetTable(string sql, List<SqlParameter> param, CommandType type = CommandType.Text)
{
    DataTable dt = new DataTable();
    using (SqlConnection con = new SqlConnection(connStr))
    {
        using (SqlCommand cmd = new SqlCommand(sql, con))
        {
            con.Open();
            if (param != null)
            {
                cmd.Parameters.AddRange(param.ToArray());
            }
            cmd.CommandType = type;
            using (SqlDataAdapter da = new SqlDataAdapter(cmd))
            {
                da.Fill(dt);
            }
        }
    }
    return dt;
}
/// <summary>
/// 根据SQL语句返回所查询的DataTable对像,无参数
/// </summary>
/// <param name="sql">SQL语句</param>
/// <param name="type"></param>
/// <returns></returns>
public static DataTable GetTable(string sql,CommandType type = CommandType.Text)
{
    DataTable dt = new DataTable();
    using (SqlConnection con = new SqlConnection(connStr))
    {
        using (SqlCommand cmd = new SqlCommand(sql, con))
        {
            con.Open();
            cmd.CommandType = type;
            using (SqlDataAdapter da = new SqlDataAdapter(cmd))
            {
                da.Fill(dt);
            }
        }
    }
    return dt;
}
/// <summary>
/// 根据SQL语句查询只有一个返回结果的数据
/// </summary>
/// <param name="sql">查询的SQL语句</param>
/// <param name="type"></param>
/// <returns></returns>
public static string GetOneSQL(string sql, CommandType type = CommandType.Text)
{
    string mes="";
    using (SqlConnection con = new SqlConnection(connStr))
    {
        using (SqlCommand cmd = new SqlCommand(sql, con))
        {
            con.Open();
            cmd.CommandType = type;
            using (SqlDataReader reader = cmd.ExecuteReader())
            {
                while (reader.Read())
                {
                    mes = reader[0].ToString();
                }
            }
        }
    }
    return mes;
}
/// <summary>
/// 根据SQL语句查询只有一个返回结果的数据,只能用来查询count(*)等有明确返回结果且为数字的数据
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public static int GetOneSQL(string sql) 
{
    int num = 0;
    num = Convert.ToInt32(GetOneSQL(sql,CommandType.Text));
    return num;
}


/// <summary>
/// 根据SQL语句更新数据,返回受影响的行数,有参数
/// </summary>
/// <param name="sql">SQL语句</param>
/// <param name="param">SqlParameter参数</param>
/// <param name="type"></param>
/// <returns></returns>
public static int UpdateDB(string sql, List<SqlParameter> param, CommandType type = CommandType.Text)
{
    using (SqlConnection con = new SqlConnection(connStr))
    {
        using (SqlCommand cmd = new SqlCommand(sql, con))
        {
            con.Open();
            if (param != null)
            {
                cmd.Parameters.AddRange(param.ToArray());
            }
            cmd.CommandType = type;
            return cmd.ExecuteNonQuery();
        }
    }
}
/// <summary>
/// 根据SQL语句更新数据,返回受影响的行数
/// </summary>
/// <param name="sql">SQL语句</param>
/// <param name="type"></param>
/// <returns></returns>
public static int UpdateDB(string sql, CommandType type = CommandType.Text)
{
    using (SqlConnection con = new SqlConnection(connStr))
    {
        using (SqlCommand cmd = new SqlCommand(sql, con))
        {
            con.Open();
            cmd.CommandType = type;
            return cmd.ExecuteNonQuery();
        }
    }
}

 

标签:using,C#,cmd,Server,CommandType,SQL,new,con
From: https://www.cnblogs.com/wjbych/p/17909727.html

相关文章

  • CF1906K Deck-Building Game记录
    CF1906KDeck-BuildingGame题目链接:https://codeforces.com/problemset/problem/1906/K题意有大小为$n$的多重集$A$。求找到两个不相交子集,使它们各自的异或和相等的方案数。很容易将其转换为求如下值:$$\sum_{S\subsetA}2^{|S|}\cdot[\oplus_{x\inS}x=0]$$......
  • ABP-VNext 用户权限管理系统实战01---AuthServer服务迁移数据库到mysql
    一、从github上获取源码后修改命名空间下载dome后修改解决方案名为Bridge。 二、默认是连接sqlserver的,需要修改为可以连接mysql修改appsettings.json文件的ConnectionStrings参数,准备一个可以连接的mysql,新建数据库bridge{"ConnectionStrings":{"Default":"Se......
  • CF1879F Last Man Standing记录
    CF1879FLastManStanding题目链接:https://codeforces.com/problemset/problem/1879/F题意简述有$n$位英雄,每位英雄都有护甲值$a$和生命值$h$。对一次伤害值为$x$的游戏,每位英雄的存活时间为$t=\lceila/x\rceil\cdoth$。游戏进行无数次,伤害值从$1$到无穷。......
  • 2023--2024-1 20231407陈原计算机科学概论与C语言程序设计第十二周学习总结
    这个课程属于哪里计算机基础与程序设计作业要求https://www.cnblogs.com/rocedu/p/9577842.html#WEEK12 作业目的自学教材作业正文https://www.cnblogs.com/CCCY12345/p/17909622.html结构体:一种构造类型。内部成员由一种或多种基本类型或构造类型构......
  • css样式穿透
    在AntDesign中,Table组件提供了一些属性和样式可以用来定制表格的外观,包括表头和每一行的背景色,以及每一列的样式。以下是一些常用的属性和样式:1.表头背景色和每一行的背景色:使用columns属性设置每一列的配置,其中可以包含title属性用于设置列标题。使用rowClassName......
  • 记一次 habse replication的Lag越来越大
    误操作导致habsereplication的Lag越来越大解决(没有继续同步,堆积越来越多):hdfsfsck/data/logs/ -openforwrite     检查哪些文件处于打开写的过程一直未关闭/data/logs/2019/11/27/16/data-log-20191127_16.1574841601929.log861bytes,replicated:replication=2......
  • numpy、scipy、pandas、matplotlib的读书报告
    基本函数的用法numpynumpy是Python中用于进行科学计算的基础模块,它提供了高效的多维数组对象ndarray,以及相关的数学运算和线性代数函数。numpy的主要功能有:创建和操作多维数组,如使用np.array(),np.arange(),np.zeros(),np.ones(),np.reshape()等函数。对数组进行索引和切片,如使用......
  • C#有望成为2023年的编程语言之王
    前言TIOBE2023年12月编程语言指数头条新闻:C#有望成为2023年的编程语言之王。TIOBE是什么?访问地址:https://www.tiobe.com/tiobe-index/TIOBE是一个编程社区指数,用于衡量不同编程语言的受欢迎程度。TIOBE指数基于全球范围内熟练工程师数量、课程和第三方供应商等多个因素进行......
  • 文心一言 VS 讯飞星火 VS chatgpt (158)-- 算法导论12.3 5题
    五、用go语言,假设为每个结点换一种设计,属性x.p指向x的双亲,属性x.succ指向x的后继。试给出使用这种表示法的二叉搜索树T上SEARCH、INSERT和DELETE操作的伪代码。这些伪代码应在O(h)时间内执行完,其中h为树T的高度。(提示:应该设计一个返回某个结点的双亲的子过程......
  • javascript基础
       ......