为了访问PostgreSQL数据库,需要从pgfoundry网站,下载Npgsql .Net Data Provider for Postgresql的组件。
访问 URL:http://pgfoundry.org/frs/?group_id=1000140,请按照自己的VS及.NET版本下载相应的版本。下载后解压缩zip文件,把解压缩的目录中的Npgsql.dll、Mono.Security.dll复制到C#工程的obj目录下,然后在VS中添加引用using Npgsql即可;

可以参照:

1.C#访问MS SQL Server数据库;

2.Python访问MS SQL Server数据库;

3.Java访问MS SQL Server数据库;

(1)按照C#利用SQLConnection访问SQL Server数据库的习惯,首先新建一个DBUSer.cs的类,用来保存用户登录信息

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;public abstract class DBUser
{public static string ServerPort;public static string UserName;public static string ServerName;public static string DBName;public static string Pwd;public static int LoginFlag;
}

(2)新建一个MyPostDB.cs类,代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data;
using Npgsql;public class MyPostDB
{DataSet DS;bool ECode;string ErrString;NpgsqlConnection Conn = new NpgsqlConnection();public  MyPostDB(string ServerName,string ServerPort,string DBName,string UserName,string Pwd){ECode = false;Conn.ConnectionString = "Server=" + ServerName + ";Port=" +ServerPort + ";User Id=" + UserName + ";Password=" + Pwd + ";Database=" + DBName;try{Conn.Open();}catch(Exception e){ECode = true;ErrMessage=e.Message;}}public DataSet GetRecordSet(string sql){NpgsqlCommand sqlCmd = new NpgsqlCommand();sqlCmd.Connection = Conn;sqlCmd.CommandText = sql ;try{NpgsqlDataAdapter adp = new NpgsqlDataAdapter(sqlCmd);DS = new DataSet();adp.Fill(DS);}catch (Exception e){ErrString = e.Message;ECode = true;return null;}return DS;}public int ExecuteSQLScalar(string Sqls){string s;NpgsqlCommand sqlCmd= new NpgsqlCommand();sqlCmd.Connection = Conn;sqlCmd.CommandText = Sqls;sqlCmd.CommandType = CommandType.Text;try{s = sqlCmd.ExecuteScalar().ToString();}catch (Exception e){ErrString = e.Message;ECode = true;return -1;}return(int.Parse(s)); }public string  ExecuteSQLScalarTOstring(string Sqls){string s;NpgsqlCommand sqlCmd = new NpgsqlCommand();sqlCmd.Connection = Conn;sqlCmd.CommandText = Sqls;sqlCmd.CommandType = CommandType.Text;try{s = sqlCmd.ExecuteScalar().ToString();}catch (Exception e){ErrString = e.Message;ECode = true;return "-1";}return s;}public string ExecuteSQLWithTrans(string Sqls){string s;NpgsqlTransaction myTrans;myTrans=Conn.BeginTransaction();NpgsqlCommand sqlCmd = new NpgsqlCommand();sqlCmd.Connection = Conn;sqlCmd.CommandText = Sqls;sqlCmd.CommandType = CommandType.Text;sqlCmd.Transaction =myTrans;sqlCmd.ExecuteNonQuery(); //Sqls="SELECT @@IDENTITY AS ID";sqlCmd.CommandText =Sqls;try{s = sqlCmd.ExecuteScalar().ToString();}catch (Exception e){ErrString = e.Message;ECode = true;myTrans.Commit(); return "";}myTrans.Commit();return(s);}public void ExecuteSQL(string Sqls){NpgsqlCommand sqlCmd = new NpgsqlCommand();sqlCmd.Connection = Conn;sqlCmd.CommandText = Sqls;sqlCmd.CommandType = CommandType.Text;try{sqlCmd.ExecuteNonQuery();}catch (Exception e){ErrString = e.Message;ECode = true;}}public NpgsqlDataReader DBDataReader(string Sqls){NpgsqlCommand sqlCmd = new NpgsqlCommand();sqlCmd.Connection = Conn;sqlCmd.CommandText = Sqls;sqlCmd.CommandType = CommandType.Text;try{return sqlCmd.ExecuteReader(CommandBehavior.CloseConnection);}catch (Exception e){ErrString = e.Message;ECode = true;return null;}}public void DBClose(){try{Conn.Close();}catch (Exception e){ErrString = e.Message;ECode = true;}}public bool ErrorCode(){return ECode;}public string ErrMessage(){return ErrString;}~MyPostDB(){}
}

C#访问postgresql数据库类MyPostDB的实现相关推荐

  1. python postgresql跨数据库查询_python访问PostgreSQL数据库之连接库Psycopg2

    python访问PostgreSQL数据库之连接库Psycopg2 作者:佣工7001 由于要在python访问PostgreSQL数据库,需要一个符合DB-API的连接库.通过搜索,锁定两个候选库: ...

  2. Serverless 解惑——函数计算如何访问 PostgreSQL 数据库

    函数计算(Function Compute):函数计算 是事件驱动的全托管计算服务.使用函数计算,您无需采购与管理服务器等基础设施,只需编写并上传代码.函数计算为您准备好计算资源,弹性地可靠地运行任务 ...

  3. 函数计算如何访问 PostgreSQL 数据库

    函数计算(Function Compute):函数计算 是事件驱动的全托管计算服务.使用函数计算,您无需采购与管理服务器等基础设施,只需编写并上传代码.函数计算为您准备好计算资源,弹性地可靠地运行任务 ...

  4. windows下c 用mysql数据库_Windows环境下C/C++访问PostgreSQL数据库

    PostgreSQL是一款在Linux环境下应用十分广泛的轻量级关系型数据库,大家都听说过MySQL,却对PostgreSQL鲜有耳闻,它其实在性能.应用领域上和MySQL不相上下.网上关于Windo ...

  5. .net访问PostgreSQL数据库发生“找不到函数名”的问题追踪

    PostgreSQL是一个使用广泛的免费开源的数据库,与MySQL比较,它更适合复杂的企业计算任务,而MySQL在互联网领域应用更为广泛,究其原因,可能是PostgreSQL拥有支持最多的数据类型,甚 ...

  6. 使用Go语言ORM库worm访问PostgreSQL数据库

    worm是一款方便易用的Go语言ORM库,worm具有使用简单,运行性能高,功能强大的特点.本文介绍如何使用worm来访问postgres数据库. 创建实体类 CREATE TABLE users(i ...

  7. 配置RODBC访问PostgreSQL数据库

    走了不少弯路,总算把这个问题搞定,贴到这里分享给大家. 1:下载安装PostgreSQL的ODBC驱动 http://www.postgresql.org/ftp/odbc/versions/msi/ ...

  8. Java入门基础:Java JDBC封装简单的访问MySQL数据库类(BaseDao)

    1.JDBC封装访问数据库的基类,目的是重用数据库访问代码 封装以下方法: MySQL数据库的连接 数据库关闭 开启数据库事务 提交数据库事务 事务回滚 注意没有封装存储过程的调用 /** * < ...

  9. bash shell脚本访问PostgreSQL的三种方式

    bash脚本里有三种方式访问PostgreSQL数据库 但前提是要设置密码文件.当然对于有系统对应账户的数据库角色可以绕过密码登录环节,如 1 $ sudo -u postgres psql 或 1 ...

最新文章

  1. 华为atn980传输设备_注册开发者超200万!华为HMS加速全球布局,打造全场景智慧体验...
  2. 独家 | 手把手教你用R语言做回归后的残差分析(附代码)
  3. 参加中国十大IT杰出博客
  4. java输入一个数字输出_java 输入一个数字,反转输出这个数字的值(实现方法)
  5. jquery简介 each遍历 prop attr
  6. rds基于什么开发_IaaS、PaaS、SaaS、DaaS都是什么?现在怎么样了?终于有人讲明白了...
  7. jquery-获取表格最后一行的序号
  8. ios git解决冲突_适用于iOS和Linux的远程同步解决方案:Git和工作副本
  9. 2018-2019-1 20165227 20165228 20165237 实验五 通讯协议设计
  10. linux 设置pip 镜像 Pip Warning:–trusted-host 问题解决方案
  11. 五年引用量最高的10大AI论文:Adam第一,Transformer上榜,竟然没有ResNet?
  12. 退休后你和原工作单位还有联系吗?
  13. python求第三边长_如何用python求第三条边边长
  14. layui表格取消横向滚动条_layui表格固定表头统一处理方案
  15. python代理ip连接失败_遇到问题--python--爬虫--使用代理ip第二次获取代理ip失败
  16. batchplot插件用法_autocad批量打印工具2015-BatchPlot(AutoCAD批量打印软件)3.5.9 官方最新版【附使用教程】-东坡下载...
  17. 电信IHO-3000机顶盒高安版 悦ME刷机固件
  18. 常用的60招电脑操作
  19. 微信小程序里面的单步调试和变量查看
  20. Color类颜色对照表

热门文章

  1. ABP vNext微服务架构详细教程——分布式权限框架(上)
  2. 使用 CliWrap 让C#中的命令行交互举重若轻
  3. 当.NET遇到机器学习
  4. 迎.NET6,今日先送200P全新视频教程 / 源码
  5. 通过Dapr实现一个简单的基于.net的微服务电商系统(八)——一步一步教你如何撸Dapr之链路追踪
  6. 一个简单的规则引擎例子
  7. 阿星Plus:基于abp vNext开源一个博客网站
  8. 注意| .NET开发者大会防疫须知 !
  9. ASP.NET Core Blazor Webassembly 之 路由
  10. 大揭秘| 我司项目组Gitlab Flow DevOps流程