C# 封装postSQL的添加,查询方法

2023-11-08

private static string conns = "PORT=5432;DATABASE=postgres;HOST=localhost;PASSWORD=123456;USER ID=postgres;";
        public static NpgsqlConnection GetConn()
        {
            NpgsqlConnection conn = new NpgsqlConnection(conns);
            //若连接状态是关闭就打开
            Console.WriteLine(conn.State);
            if (conn.State == ConnectionState.Closed)
                conn.Open();
            Console.WriteLine(conn.State);

            return conn;
        }
        public static NpgsqlDataReader Query(string sql,params NpgsqlParameter[] parameters) 
        {
             NpgsqlConnection conn = new NpgsqlConnection(conns);
        conn.Open();

        NpgsqlCommand cmd = new NpgsqlCommand(sql, conn);
        if (parameters != null && parameters.Length > 0)
        {
            cmd.Parameters.AddRange(parameters);
        }

        NpgsqlDataReader reader = cmd.ExecuteReader();

        return reader;
        }
        public static int postSql(string sql) {
            NpgsqlConnection conn = null ;
            try {
                conn = GetConn();
                NpgsqlCommand cmd = new NpgsqlCommand(sql, conn);
                int retule= cmd.ExecuteNonQuery();
                return retule;
            } catch (Exception ex) 
            {
                MessageBox.Show("录入数据失败","警告",MessageBoxButtons.OK,MessageBoxIcon.Error);
                return -1;
            } finally {
                conn.Close();
            }
        }

        //将查询的NpgsqlReader转换为DataTable
        public static DataTable GetDataTable(NpgsqlDataReader reader)
        {
            DataTable table = new DataTable();

            // 添加列
            for (int i = 0; i < reader.FieldCount; i++)
            {
                table.Columns.Add(reader.GetName(i), reader.GetFieldType(i));
            }

            // 添加行
            while (reader.Read())
            {
                object[] values = new object[reader.FieldCount];
                for (int i = 0; i < reader.FieldCount; i++)
                {
                    values[i] = reader.GetValue(i);
                }
                table.Rows.Add(values);
            }

            return table;
        }

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

C# 封装postSQL的添加,查询方法 的相关文章

  • 列中差异的数量

    我想检索一列每行中有多少个字母的差异 例如 如果您有一个值 test 而另一行有一个值 testing 则 test 和 testing 之间的差异为 4 个字母 该列的数据值为 4 I have reflected about it an
  • 类型中的属性名称必须是唯一的

    我正在使用 Entity Framework 5 并且有以下实体 public class User public Int32 Id get set public String Username get set public virtual
  • C++11 删除重写方法

    Preface 这是一个关于最佳实践的问题 涉及 C 11 中引入的删除运算符的新含义 当应用于覆盖继承父类的虚拟方法的子类时 背景 根据标准 引用的第一个用例是明确禁止调用某些类型的函数 否则转换将是隐式的 例如最新版本第 8 4 3 节
  • 如何从 Visual Studio 将视图导航到其控制器?

    问题是解决方案资源管理器上有 29 个项目 而且项目同时具有 ASP NET MVC 和 ASP NET Web 表单结构 在MVC部分中 Controller文件夹中有大约100个子文件夹 每个文件夹至少有3 4个控制器 视图完全位于不同
  • 传递给函数时多维数组的指针类型是什么? [复制]

    这个问题在这里已经有答案了 我在大学课堂上学习了 C 语言和指针 除了多维数组和指针之间的相似性之外 我认为我已经很好地掌握了这个概念 我认为由于所有数组 甚至多维 都存储在连续内存中 因此您可以安全地将其转换为int 假设给定的数组是in
  • 无限循环与无限递归。两者都是未定义的吗?

    无副作用的无限循环是未定义的行为 看here https coliru stacked crooked com view id 24e0a58778f67cd4举个例子参考参数 https en cppreference com w cpp
  • 是否有适用于所有数据库的标准sql

    如下所示 不同数据库的语法有所不同 是否存在适用于所有数据库的标准方法 有没有什么工具可以将任意sql转换为任意sql SQL Server 2005 CREATE TABLE Table01 Field01 int primary key
  • C++ 多行字符串原始文字[重复]

    这个问题在这里已经有答案了 我们可以像这样定义一个多行字符串 const char text1 part 1 part 2 part 3 part 4 const char text2 part 1 part 2 part 3 part 4
  • 需要帮助优化算法 - 两百万以下所有素数的总和

    我正在尝试做一个欧拉计划 http projecteuler net问题 我正在寻找 2 000 000 以下所有素数的总和 这就是我所拥有的 int main int argc char argv unsigned long int su
  • 访问外部窗口句柄

    我当前正在处理的程序有问题 这是由于 vista Windows 7 中增强的安全性引起的 特别是 UIPI 它阻止完整性级别较低的窗口与较高完整性级别的窗口 对话 就我而言 我想告诉具有高完整性级别的窗口进入我们的应用程序 它在 XP 或
  • 方程“a + bx = c + dy”的积分解

    在等式中a bx c dy 所有变量都是整数 a b c and d是已知的 我如何找到整体解决方案x and y 如果我的想法是正确的 将会有无限多个解 由最小公倍数分隔b and d 但我只需要一个解决方案 我可以计算其余的 这是一个例
  • 使用 where 进行 select 语句时,HSQLDB 用户缺乏权限或未找到对象错误

    我的数据库使用 SQuirrel SQL 客户端版本 3 5 3 和 HSQLDB 我已经能够为其指定相应的驱动程序 内存中 并创建一个别名 我创建了一个表 CREATE TABLE ENTRY NAME VARCHAR 100 NOT N
  • 两个类可以使用 C++ 互相查看吗?

    所以我有一个 A 类 我想在其中调用一些 B 类函数 所以我包括 b h 但是 在 B 类中 我想调用 A 类函数 如果我包含 a h 它最终会陷入无限循环 对吗 我能做什么呢 仅将成员函数声明放在头文件 h 中 并将成员函数定义放在实现文
  • C# 动态/expando 对象的深度/嵌套/递归合并

    我需要在 C 中 合并 2 个动态对象 我在 stackexchange 上找到的所有内容仅涵盖非递归合并 但我正在寻找能够进行递归或深度合并的东西 非常类似于jQuery 的 extend obj1 obj2 http api jquer
  • 有没有办法让 doxygen 自动处理未记录的 C 代码?

    通常它会忽略未记录的 C 文件 但我想测试 Callgraph 功能 例如 您知道在不更改 C 文件的情况下解决此问题的方法吗 设置变量EXTRACT ALL YES在你的 Doxyfile 中
  • 相当于Linux中的导入库

    在 Windows C 中 当您想要链接 DLL 时 您必须提供导入库 但是在 GNU 构建系统中 当您想要链接 so 文件 相当于 dll 时 您就不需要链接 为什么是这样 是否有等效的 Windows 导入库 注意 我不会谈论在 Win
  • 使用特定参数从 SQL 数据库填充组合框

    我在使用参数从 sql server 获取特定值时遇到问题 任何人都可以解释一下为什么它在 winfom 上工作但在 wpf 上不起作用以及我如何修复它 我的代码 private void UpdateItems COMBOBOX1 Ite
  • 为什么 std::uint32_t 与 uint32_t 不同?

    我对 C 有点陌生 我有一个编码作业 很多文件已经完成 但我注意到 VS2012 似乎有以下语句的问题 typedef std uint32 t identifier 不过 似乎将其更改为 typedef uint32 t identifi
  • DotNetZip:如何提取文件,但忽略zip文件中的路径?

    尝试将文件提取到给定文件夹 忽略 zip 文件中的路径 但似乎没有办法 考虑到其中实现的所有其他好东西 这似乎是一个相当基本的要求 我缺少什么 代码是 using Ionic Zip ZipFile zf Ionic Zip ZipFile
  • 指针和内存范围

    我已经用 C 语言编程有一段时间了 但对 C 语言还是很陌生 有时我对 C 处理内存的方式感到困惑 考虑以下有效的 C 代码片段 const char string void where is this pointer variable l

随机推荐

  • 等保测评--通信网络安全测评要求

    信息安全等级保护 是对信息和信息载体按照重要性等级分级别进行保护的一种工作 在中国 美国等很多国家都存在的一种信息安全领域的工作 在中国 信息安全等级保护广义上为涉及到该工作的标准 产品 系统 信息等均依据等级保护思想的安全工作 狭义上一般
  • Python的迭代器和生成器使用示例

    迭代器和生成器是Python中强大而灵活的工具 用于处理可迭代对象的数据 它们提供了一种高效的方式来遍历和处理大型数据集 同时节省内存 在本文中 我们将介绍迭代器和生成器的概念 并提供一些实例来展示它们的用法 迭代器 Iterators 迭
  • repeat多级嵌套

    效果图 前台的 repeat asp 代码 C 代码
  • python爬虫——校花网

    爬取校花网图片 校花网http www xiaohuar com list 1 0 html 1 进入网站 我们会发现许多图片 这些图片就是我们要爬取的内容 2 对网页进行分析 按F12打开开发着工具 本文使用谷歌浏览器 我们发现每个图片都
  • 组合优化问题

    我们经常会遇到需要寻找一个最优方案的问题 也即最优化问题 我们首先对实例和问题做一个区分 在本课程中 不失一般性地 当我们在做一般性讨论的时候 都假定所讨论的最优化问题是最小化问题 定义1 1 1 最优化问题的实例 一个最优化问题的一个实例
  • 使用opencv识别视频中的数字识别

    使用OpenCV识别视频中的数字 需要对视频帧进行图像处理 以提取数字 一种常用的方法是使用边缘检测算法 如Canny边缘检测 检测图像中的边缘 然后 使用数字识别技术 如光学字符识别 OCR 识别图像中的数字 最后 使用算法对识别结果进行
  • ESP8266——AT指令发送POST请求

    AT指令发送POST请求 AT指令发送流程 注意 在串口助手调试过程中 每次发送都要加上 换行 且不能有多于的 空格 否则8266会将发送的数据原样返回 AT 返回值为OK AT CWMODE 1 返回值为OK 设置模块为STA模式 此时可
  • SpringMVC响应使用案例(带数据页面跳转,快捷访问路径,返回json数据)

    页面跳转 转发 默认 RequestMapping showPage1 public String showPage1 System out println user mvc controller is running return WEB
  • Daiwa Securities Co. Ltd. Programming Contest 2021(AtCoder Regular Contest 128)(A+B)

    这里写目录标题 A Gold and Silver B Balls of Three Colors A Gold and Silver 题目链接 https atcoder jp contests arc128 tasks arc128 a
  • React和JSX入门

    在本教程中 我们将了解如何开始创建React应用 并尝试了解JSX的基础知识 本教程假定您对HTML和JavaScript有很好的了解 什么是React React是Facebook开发JavaScript库 用于轻松管理Web应用程序的用
  • 时序预测

    时序预测 MATLAB实现PSO LSTM 粒子群优化长短期记忆神经网络 时间序列预测 目录 时序预测 MATLAB实现PSO LSTM 粒子群优化长短期记忆神经网络 时间序列预测 预测效果 基本介绍 模型介绍 PSO模型 LSTM模型 P
  • mongodb

    操作数据库 启动 停止 net start stop mongodb 进入 退出 mongo exit 查看所有数据库 show dbs 进入数据库 use dbName 查看当前使用的数据库 db db getName 注 空的数据库是不
  • 阿里云实例重启服务器后宝塔面板无法访问打开,同时SSH和网站也无法链接解决方法

    这个持续了一天 今天终于找到办法解决了 分享一下解决方法 网上找了很久 他们说的那些办法都无法解决的 很多人都是说阿里云端口防火墙问题 这个对于新安装的宝塔面板的用户 就要去阿里云或者腾讯云平台上面开启8888端口 我这个之前已经开启 都不
  • ajax datatype_mui.ajax()的使用

    mui ajax 简介 mui封装了常用的Ajax函数 支持get post请求方式 支持返回json xml html text script数据类型 分类 APP端 wkwebview 跨域情况下 使用plus next xmlHttp
  • Ecology 建模表单 数据库字段与页面字段对应关系显示

    Ecology 建模表单 Ecology介绍 数据库字段与页面字段对应关系显示 根据表名查询 billid 根据billid 查询出对应关系 Ecology介绍 Ecology泛微公司OA低代码开发平台 现在市面上常用的版本是以9为开头的
  • CRM客户管理系统

    Sunsiny资产CRM客户管理系统 目录 一 CRM系统背景 2 二 CRM系统分类 3 三 概述 3 四 系统的技术选型 3 五 系统模块简介 4 六 领导驾驶舱 6 七 客户经理驾驶舱 6 八 客户管理 7 九 联系人管理 8 十 服
  • spring-kafka几种AckMode模式介绍,MANUAL_IMMEDIATE和MANUAL区别

    kafka每个partition都有自己的offset 消费端处理完后要向kafka服务器提交offset spring kafka组件有下面几种AckMode提交模式 都是针对 enable auto commit设置为false才适用
  • MIPI LCD调试总结

    近来在用SSD2828驱动小米屏 没有代码 没有技术支持 自己写代码反复调试 整死我了 目前已经能正常显示图片 现在总结一下与大家分享一下 要点 小米3屏的分辨率是19201080 24bit 行列像素点为10801920 默认显示方式为从
  • ubuntu 20.04 —LLVM安装

    一 apt 安装 apt llvm org To install a specific version of LLVM wget https apt llvm org llvm sh chmod x llvm sh sudo llvm sh
  • C# 封装postSQL的添加,查询方法

    private static string conns PORT 5432 DATABASE postgres HOST localhost PASSWORD 123456 USER ID postgres public static Np