SQL Server实现参数化增删改查Class类

目录

SqlServerDatabase.Class

Main调用


SqlServerDatabase.Class

using System;
using System.Data;
using System.Data.SqlClient;

class SqlServerDatabase
{
    private readonly string connectionString;

    public SqlServerDatabase(string connectionString)
    {
        this.connectionString = connectionString;
    }

    public DataTable ExecuteQuery(string query, SqlParameter[] parameters = null)
    {
        using (SqlConnection connection = new SqlConnection(connectionString))
        {
            connection.Open();

            using (SqlCommand command = new SqlCommand(query, connection))
            {
                if (parameters != null)
                {
                    command.Parameters.AddRange(parameters);
                }

                SqlDataAdapter adapter = new SqlDataAdapter(command);
                DataTable dataTable = new DataTable();
                adapter.Fill(dataTable);

                return dataTable;
            }
        }
    }

    public int ExecuteNonQuery(string query, SqlParameter[] parameters = null)
    {
        using (SqlConnection connection = new SqlConnection(connectionString))
        {
            connection.Open();

            using (SqlCommand command = new SqlCommand(query, connection))
            {
                if (parameters != null)
                {
                    command.Parameters.AddRange(parameters);
                }

                return command.ExecuteNonQuery();
            }
        }
    }
}
 

Main调用

class Program
{
    static void Main()
    {
        string connectionString = "your_connection_string";
        SqlServerDatabase database = new SqlServerDatabase(connectionString);

        // 查询示例
        string selectQuery = "SELECT * FROM YourTable WHERE ColumnName = @Param";
        SqlParameter[] selectParameters = { new SqlParameter("@Param", "some_value") };
        DataTable result = database.ExecuteQuery(selectQuery, selectParameters);

        // 增加/删除/修改示例
        string updateQuery = "UPDATE YourTable SET Column1 = @Value WHERE Column2 = @Condition";
        SqlParameter[] updateParameters = { new SqlParameter("@Value", "new_value"), new SqlParameter("@Condition", "condition_value") };
        int rowsAffected = database.ExecuteNonQuery(updateQuery, updateParameters);
    }
}
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/155085.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Mongodb3.4升级高版本mongoTemplate.executeCommand报错The cursor option is required

mongodb3.4版本升级高版本后mongoTemplate.executeCommand的方式执行的语句报错,如: Document document mongoTemplate.executeCommand(pipl)错误信息:The cursor option is required 高版本的需要cursor选项参数,官网这么写的&…

javascript 正则表达式匹配替换

var route_rule "{游戏标题}"; var game_title "闪烁之光"; var pattern /\{[\u4e00-\u9fa5]\}/g; var matched route_rule.match(pattern); console.log(matched); if (matched) {var result route_rule.replace(pattern,game_title);console.log(ro…

基于nodejs学校宿舍管理系统-计算机毕设 附源码45118

nodejs学校宿舍管理系统 摘要 信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题。针对学校宿舍管理系统等…

GCANet

2019、中科大港科、有代码 Chen D, He M, Fan Q, et al. Gated context aggregation network for image dehazing and deraining[C]//2019 IEEE winter conference on applications of computer vision (WACV). IEEE, 2019: 1375-1383. GitHub - cddlyf/GCANet: Implementation…

【Flink】窗口(Window)

窗口理解 窗口(Window)是处理无界流的关键所在。窗口可以将数据流装入大小有限的“桶”中,再对每个“桶”加以处理。 本文的重心将放在 Flink 如何进行窗口操作以及开发者如何尽可能地利用 Flink 所提供的功能。 对窗口的正确理解&#xff…

虾皮泰国选品-如何使用知虾进行市场分析和选品

在电商平台上,选品是一项非常重要的任务。虾皮作为泰国地区最大的电商平台之一,提供了一款名为“知虾”的选品工具,帮助卖家进行市场分析和选品决策。本文将介绍如何使用知虾进行虾皮泰国选品市场分析和选品,以及其中的具体步骤和…

使用jmeter对接口进行简单测试

JMeter是一个开源的性能测试工具,它可以对于Web应用程序、FTP、数据库服务器等各种服务器进行性能测试和负载测试,以确定它们是否能够承受预期的负载。JMeter支持多种协议和技术,如HTTP、HTTPS、FTP、JDBC、LDAP、SOAP、JMS等。它使用Java编写…

centos7系统下postgresql15离线安装,卸载

1. 创建postgres用户 #[rootVMTest postgresql16]# useradd -g postgres postgres [rootVMTest postgresql16]# useradd postgres 插曲:在线YUM安装 在线安装参考: PostgreSQL: Linux downloads (Red Hat family) 2. 下载并安装离线rpm包 2.1 从postgresql官网下…

一文详解!SRM(供应商管理)助力实现采购端实现降本增效

供应商管理关系到企业各部门的正常运转,一个好的SRM供应商管理系统对于公司来说无疑是锦上添花,改善企业与供应商的关系,可以帮助企业实现采购端的降本增效。但在信息化转型的浪潮下,很多企业SRM信息化却遇到不少问题。 那么请花…

父子进程exec,fork等

linux系统编程之进程(五):exec系列函数(execl,execlp,execle,execv,execvp)使用-CSDN博客 C中的exec()函数_c exec函数_向阳逐梦的博客-CSDN博客 前言 fork 函数之后,如果想要把子进程换成一个我想要执行的进程&#…

Vue3的watch使用介绍及场景

目录 一、watch的使用 1. 监听一个变量 2. 监听一个对象的属性 3. 监听一个函数的返回值 二、watch的使用场景 1. 监听表单的变化 2. 监听路由参数的变化 3. 监听Vuex中的数据变化 三、watch的效果图 四、watch的示例 以上就是Vue3的watch的介绍,watch是…

python保存文件到zip压缩包中

这里我们使用zipfile这个库进行操作,保存压缩文件相对简单,只需要指定文件名即可,不需要读取那个文件: with zipfile.ZipFile("zip文件路径", mode, zipfile.ZIP_DEFLATED) as z:z.write("压缩源文件路径", …

MAX/MSP SDK学习01:Object的基本构成、创建销毁行为函数的定义、属性的赋值、以及相关注意事项

Object的基本构成、创建&销毁&行为函数的定义、属性的赋值、以及相关注意事项。 #include "ext.h" // standard Max include, always required #include "ext_obex.h" // required for new style Max object// object struct,定义属…

G管螺纹尺寸对照表

G管螺纹尺寸对照表 NPT 是 National (American) Pipe Thread 的缩写,属于美国标准的 60 度锥管螺纹,用于北美地区.国家标准可查阅 GB/T12716-1991 PT 是 Pipe Thread 的缩写,是 55 度密封圆锥管螺纹,属惠氏螺纹家族&a…

微服务学习|Gateway网关:网关作用、快速入门、路由断言工厂、路由过滤器配置、全局过滤器、过滤器执行顺序、跨域问题处理

为什么需要网关 网关功能: 1.身份认证和权限校验 2.服务路由、负载均衡 3.请求限流 网关的技术实现 在SpringCloud中网关的实现包括两种:gateway、zuul Zuul是基于Servlet的实现,属于阻塞式编程。而SprinaCloudGateway则是基于Spring5中提供的WebFlux&#xf…

最新PS 2024 虎标正式版来啦,附带AI神经滤镜(支持win/mac)

软件简介 文件名称 PS2024 虎标正式版 支持系统 windows、Mac 获取方式 文章底部 分享形式 百度网盘 小伙伴们,下午好!今天给大家的是PS 2024 25.0虎标正式版。 添加图片注释,不超过 140 字(可选) 添加图片注释…

机器学习介绍与分类

随着科学技术的不断发展,机器学习作为人工智能领域的重要分支,正逐渐引起广泛的关注和应用。本文将介绍机器学习的基本概念、原理和分类方法,帮助读者更好地理解和应用机器学习技术。 一、机器学习的基本概念 机器学习是一种通过从数据中学…

了解一下公网IP和域名的区别与联系

​  公网IP和域名是互联网中两个重要的概念,它们在网络通信和网站访问中起着不同的作用。 我们来了解一下公网IP。公网IP是指在全球范围内唯一的IP地址,用于标识互联网上的设备。每个设备连接到互联网时都会被分配一个公网IP地址,这个地址可…

人机交互——自然语言生成

自然语言生成是让计算机自动或半自动地生成自然语言的文本。这个领域涉及到自然语言处理、语言学、计算机科学等多个领域的知识。 1.简介 自然语言生成系统可以分为基于规则的方法和基于统计的方法两大类。基于规则的方法主要依靠专家知识库和语言学规则来生成文本&#xff0…

MySQL之JDBC编程

目录 1. 数据库编程的必备条件 2. Java的数据库编程:JDBC 3. JDBC工作原理 4. JDBC使用 4.1 IDEA配置JDBC 4.2 JDBC开发案例 4.3 JDBC使用步骤总结 5. JDBC常用接口和类 5.1 JDBC API 5.2 数据库连接Connection 5.3 Statement对象 5.4 ResultS…