c# postgresql帮助类

2023-11-09

1,安装Npgsql

2, 代码

/// <summary>
    /// PostgreSql数据库操作帮助类
    /// </summary>
    public class PostgreSqlHelper 
    {
        public static string ConnectionString = ConfigurationManager.ConnectionStrings["postgre"].ToString();


        /// <summary>
        /// 增 删 改
        /// </summary>
        /// <param name="sql"></param>
        /// <returns></returns>
        public static int ExecuteSQL(string sql)
        {
            int back = -1;
            using (NpgsqlConnection connection = new NpgsqlConnection(ConnectionString))
            {
                using (NpgsqlCommand command = new NpgsqlCommand(sql, connection))
                {
                    try
                    {
                        connection.Open();
                        back = command.ExecuteNonQuery();
                    }
                    catch (NpgsqlException exception)
                    {
                        throw new Exception(exception.Message);
                    }
                    finally
                    {
                        connection.Close();
                    }
                }
            }
            return back;
        }

        /// <summary>
        /// 增 删 改
        /// </summary>
        /// <param name="sql"></param>
        /// <param name="paras">如果没有传null</param>
        /// <returns></returns>
        public static int ExecuteNonQuery(string sql, params NpgsqlParameter[] paras)
        {
            using (NpgsqlConnection conn = new NpgsqlConnection(ConnectionString))
            {
                conn.Open();
                using (NpgsqlCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText = sql;
                    if (paras != null)
                    {
                        cmd.Parameters.AddRange(paras);
                    }
                    return cmd.ExecuteNonQuery();
                }
            }
        }

        /// <summary>
        /// 查询操作,返回查询结果中的第一行第一列的值
        /// </summary>
        /// <param name="sql"></param>
        /// <param name="paras">如果没有传null</param>
        /// <returns></returns>
        public static object ExecuteScalar(string sql, params NpgsqlParameter[] paras)
        {
            using (NpgsqlConnection conn = new NpgsqlConnection(ConnectionString))
            {
                conn.Open();
                using (NpgsqlCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText = sql;
                    if (paras != null)
                    {
                        cmd.Parameters.AddRange(paras);
                    }
                    return cmd.ExecuteScalar();

                }
            }
        }

        /// <summary>
        /// 查询并返回结果集DataTable
        /// </summary>
        /// <param name="sql"></param>
        /// <param name="paras">如果没有传null</param>
        /// <returns></returns>
        public static DataTable ExecuteDataTable(string sql, params NpgsqlParameter[] paras)
        {
            using (NpgsqlConnection conn = new NpgsqlConnection(ConnectionString))
            {
                conn.Open();
                using (NpgsqlCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText = sql;
                    if (paras != null)
                    {
                        cmd.Parameters.AddRange(paras);
                    }

                    NpgsqlDataAdapter adapter = new NpgsqlDataAdapter(cmd);
                    DataSet dataset = new DataSet();
                    adapter.Fill(dataset);
                    return dataset.Tables[0];
                }
            }

        }

    }
 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

c# postgresql帮助类 的相关文章

  • 中间件 API 的最佳实践是什么? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我们正在开发一个中间件 SDK 采用 C 和 Java 语言 供游戏开发人员 动画软件开发人员 阿凡达开
  • asp.net c# 将数据集中的数据转换为电子邮件正文?

    从数据集到电子邮件正文的最佳方式是什么 我有一个 net 控制台应用程序 用于根据存储过程的结果发送电子邮件通知 并且想知道如何最好地从 SQL 数据转到电子邮件正文 带有颜色和字体的 html 正文是最好的 但纯文本也可以 thanks
  • C++ 中的单例和抽象基类

    最近我遇到了关于实现 Singleton 但涉及抽象基类的问题 假设我们有这样的类层次结构 class IFoo it s ABC class Foo public IFoo 我们的单例类定义如下 template
  • 使用静态类型代替变量

    当您的项目不使用命名空间时 有什么方法可以告诉编译器使用静态类型而不是变量吗 例如 我有一个名为 User 的类 它具有各种静态和非静态方法 假设调用了其中一个静态方法GetUser 我想称之为User GetUser 方法来自一个方法 该
  • 基于 MS Bot Framework 中的响应分支对话框/表单

    我们正在尝试使用 MS Bot Framework 但尚未完全弄清楚如何实现此场景 我们有一个 LUIS 对话框 类型 它工作正常并且经过适当的培训 以常见的三明治为例 LUIS 意图寻找的基本内容是用户询问订单状态 如果问题中提供了订单号
  • 有没有办法使 C90 标准中的枚举无符号? (符合 MISRA-C 2004 标准)

    我正在尝试找到一种使枚举 无符号 的方法 enum x1 0 x2 x3 uint8 t x2 lt PC LINT MISRA C 2004 will complain about mixing signed and unsigned h
  • Entity Framework 4.1 RC:Code First EntityTypeConfiguration 继承问题

    我尝试使用通用的 EntityTypeConfiguration 类来配置所有实体的主键 以便每个派生的配置类不会重复自身 我的所有实体都实现一个公共接口 IEntity 它表示每个实体必须有一个 int 类型的 Id 属性 我的配置基类如
  • 返回指向 std::vector 中的对象的 a

    我有一个关于返回对向量元素的引用的非常基本的问题 有一个向量vec存储类的实例Foo 我想访问这个向量中的一个元素 不想使用向量索引 我应该如何编码该方法getFoo here include
  • 在PostgreSQL中使用查询设置列类型

    优秀后answer https stackoverflow com questions 4336259 how to query the schema details of a table in postgres作者 Alexandre G
  • 正则表达式删除某些字符周围不需要的空格

    我正在尝试从 JavaScript 文件中删除一些不需要的空格 并在将文件发送到客户端之前使用 C 和 Regex 组合文件 我有一个JavascriptHandler处理 js 文件 效果很好 这是我用来 打包 JavaScript 的函
  • 获取给定EntityType的导航属性

    我在用VS2010 EF4 0 需要如下功能 private string GetNaviProps Type entityType eg typeof Employee NorthwindEntities en new Northwind
  • Create CFrameWnd 给出了第一次机会异常——为什么?

    我正在尝试使用基于 CFrameWnd 的代码编写一个简单的 MFC 应用程序 该应用程序在可滚动窗口中绘制 下面的代码改编自 Prosise Programming Windows with MFC 第 2 版 第 89ff 页 当我在调
  • 在不使用 Thread.Sleep c# 的情况下延迟发送电子邮件

    我有一个 for 循环 它循环并每个循环发送一封电子邮件 现在我正在使用 thread sleep 但我希望用户仍然能够与程序交互 只需取消该循环即可 是否可以在不使用 thread sleep 的情况下做到这一点 您是否在 UI 线程上运
  • 需要使用 openssl 加密和解密文件的示例 C 代码

    我正在用 Linux C 编写代码 我需要使用以下命令来加密和解密文件 openssl 目前 我使用系统命令 des3 e nosalt k 0123456789012345 in inp file out out file 进行加密 使用
  • 如何分析 VSCode 中函数的性能

    我用 C Golang 编写了一个程序 如何找到占用最高 CPU 周期的函数 目的是提高正在执行的程序的性能 2021 年 10 月 金香儿哈娜 https github com hyangah宣布 tweet https twitter
  • 使用 roslyn 扩展 C# 语法

    我试图在没有 else 情况的情况下实现 return if return value if 因为我只想在条件有效时返回或返回一个值 我知道 有if condition return or if condition return value
  • 编译器可以报告未知属性的错误吗?即使有范围?

    在N3291 7 6 1 3 5 属性语法和语义 decl attr grammar 关于如何属性是用我读过的源代码写的 使用一个属性范围令牌是有条件支持的 实现定义的行为 and For an 属性标记本国际标准中未指定 该行为是实现定义
  • 具有多种类型的 C# 泛型类型推断

    我有以下通用方法 用于将一种类型的输入对象序列化为超类型 如下所示 public string SerialiseAs
  • FakeItEasy 代理方法调用实际实现

    我正在尝试将对假对象的调用代理到实际的实现 这样做的原因是我希望能够使用 Machine Specifications 的 WasToldTo 和 WhenToldTo 它们仅适用于接口类型的伪造 因此 我正在执行以下操作来代理对我的真实对
  • 什么时候使用静态库需要头文件?

    如果我在 Linux 中用 C 创建一个静态库并生成 a 文件 我 或其他人 如何使用该库 例如 我的库定义了一个类 我认为仅仅提供 a 文件是不够的 还需要提供头文件 我如何知道 a 文件必须提供哪些头文件 例如 我是否需要提供我的库代码

随机推荐

  • 显式内存管理

    程序员在处理现实生活中国的C C 程序的时候 常会遇到诸如程序运行时突然退出 或占用的内存越来越多 最后不得不定期重启的一些典型状况 这些问题的源头可以追溯到C C 中的显式堆内存管理上 通常情况下 这些症状都是由于程序没有正确处理堆内存的
  • tomcat 乱码问题

    测试环境 apache tomcat 6 0 48 操作系统 win7 中文 默认GBK编码 一 浏览器采用的字符集 测试jsp
  • docker容器监控系统

    文章目录 第1章监控软件介绍 1 1监控工具 第2章Cadvisor Influxdb Grafana 2 1Cadvisor InfluxDB Grafana介绍 2 1 1Cadvisor 数据采集 2 1 2InfluxDB 数据存储
  • F - Ginger的GIAO

    F Ginger的GIAO SDUT OnlineJudge include
  • GDB调试动态库

    转载 https blog csdn net huluedeai article details 52225923 一 方法 gdb如何调试动态链接库的问题 比如我想调试的代码为动态链接库代码 我设置断点后却得到以下错误 gdb b mps
  • 你从未见过的python重点知识总结,最全面没有之一。过了这村就没这店了。

    强烈建议收藏再慢慢看 Py2 VS Py3 Py2 和 Py3 的差别 print 成为了函数 python2 是关键字 不再有 unicode 对象 默认 str 就是 unicode python3 除号返回浮点数 没有了long类型
  • 波士顿房价预测(终版讲解)

    代码段分四个部分 库的引入 加载数据 函数 配置网络结构 类 运行部分 获取数据 创建网络 启动训练 作图 我的是基础版 库只用到了numpy和matplotlib的pyplto两个 加载数据需要进行将数据作为数组输入 重整成14 N的二维
  • Mybatis PageHelper(MyBatis 分页插件 )的使用

    概述 如果你也在用 MyBatis 建议尝试该分页插件 这一定是最方便使用的分页插件 分页插件支持任何复杂的单表 多表分页 我们在项目中使用sql的手动分页太常见了 如果前台需要分页信息的话 一般我们是需要2条slq语句 一条是查询总页数c
  • leetcode刷题-代码训练营-第3章-哈希表

    目录 242 有效的字母异位词 349 两个数组的交集 202 快乐数 1 两数之和 454 四数相加II 383 赎金信 1 暴力解法 2 哈希表解法 15 三数之和 1 哈希解法 2 双指针法 18 四数之和 242 有效的字母异位词
  • Java 微服务框架选型(Dubbo 和 Spring Cloud?)

    微服务 Microservices 是一种架构风格 一个大型复杂软件应用由一个或多个微服务组成 系统中的各个微服务可被独立部署 各个微服务之间是松耦合的 每个微服务仅关注于完成一件任务并很好地完成该任务 在所有情况下 每个任务代表着一个小的
  • 【常见错误】FPGA器件DDR类型选择错误

    ZedBoard开发常见错误 DDR的型号配置错误 间接会导致的结果是 在调试debug时 会发现cpu一直处于running的状态 但是在控制台并不能看到打印的信息 并且不管是只用了PS端或者是PS PL端都用了 都不能在控制台上出现打印
  • 短信验证码

    短信验证码用的是阿里云的 目录结构如下 其中aliyunsdkdysmsapi是在官方下载的 https help aliyun com document detail 55359 html aliyun py coding utf 8 i
  • 注入技术--LSP劫持注入

    1 原理 简单来说 LSP就是一个dll程序 应用程序通过winsock2进行网络通信时 会调用ws2 32 dll的导出函数 如connect accept等 而后端通过LSP实现这些函数的底层 简单来说就是调用winsock2提供的函数
  • 硬件系统工程师宝典(13)-----PCB的布局“有讲究”

    各位同学大家好 欢迎继续做客电子工程学习圈 今天我们继续来讲这本书 硬件系统工程师宝典 上篇我们说到EMC的标准以及提高EMC性能的一些常用方法 今天我们来看看PCB上模块的布局有什么讲究 模块划分及布局 PCB上模块的划分和布局会影响到布
  • Linux  root密码忘记了,怎么办?

    Linux root用户密码忘记了 怎么办 一 清除密码 首先 启动Linux 出现这个画面 有的版本不一定 和这个 一样但是大同小异 注意这句话就行 Press any key to enter the menu 按任意键进入菜单 然后
  • Cocos2d-x Js Binding 的手动绑定实现

    http www ityran com archives 4902 Cocos2d x Js Binding 的手动绑定实现 一叶 cocos2d x 08 13 2304 4条评论 随着 Cocos2d x 的发展 Cocos2d htm
  • Command ‘roscore‘ not found, but can be installed with: sudo apt install python-roslaunch

    ubuntu18 04安装ros melodic时报错 解决方法 查看是否安装包 cd opt ros melodic bin ls 发现没有roscore 安装 在bin目录 sudo apt get install ros melodi
  • NGINX指定启动的配置文件

    若不指定安装路径 nginx默认安装在 usr local nginx路径下 若不指定nginx的配置文件 nginx默认启动找的是同级nginx更路径下的 conf nginx conf配置文件 但该配置文件的所在路径 以及文件名不是绝对
  • git revert后无法merge发生的惨案

    git revert后无法merge发生的惨案 前景描述 目前公司开发模式是这样的 有测试分支test 开发分支dev1 dev2 dev3 dev1 dev2 dev3都是基于test分支拉出来的 各分支如果没有问题后都会合并到test
  • c# postgresql帮助类

    1 安装Npgsql 2 代码