C#访问postgresql数据库类MyPostDB的实现
为了访问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的实现相关推荐
- python postgresql跨数据库查询_python访问PostgreSQL数据库之连接库Psycopg2
python访问PostgreSQL数据库之连接库Psycopg2 作者:佣工7001 由于要在python访问PostgreSQL数据库,需要一个符合DB-API的连接库.通过搜索,锁定两个候选库: ...
- Serverless 解惑——函数计算如何访问 PostgreSQL 数据库
函数计算(Function Compute):函数计算 是事件驱动的全托管计算服务.使用函数计算,您无需采购与管理服务器等基础设施,只需编写并上传代码.函数计算为您准备好计算资源,弹性地可靠地运行任务 ...
- 函数计算如何访问 PostgreSQL 数据库
函数计算(Function Compute):函数计算 是事件驱动的全托管计算服务.使用函数计算,您无需采购与管理服务器等基础设施,只需编写并上传代码.函数计算为您准备好计算资源,弹性地可靠地运行任务 ...
- windows下c 用mysql数据库_Windows环境下C/C++访问PostgreSQL数据库
PostgreSQL是一款在Linux环境下应用十分广泛的轻量级关系型数据库,大家都听说过MySQL,却对PostgreSQL鲜有耳闻,它其实在性能.应用领域上和MySQL不相上下.网上关于Windo ...
- .net访问PostgreSQL数据库发生“找不到函数名”的问题追踪
PostgreSQL是一个使用广泛的免费开源的数据库,与MySQL比较,它更适合复杂的企业计算任务,而MySQL在互联网领域应用更为广泛,究其原因,可能是PostgreSQL拥有支持最多的数据类型,甚 ...
- 使用Go语言ORM库worm访问PostgreSQL数据库
worm是一款方便易用的Go语言ORM库,worm具有使用简单,运行性能高,功能强大的特点.本文介绍如何使用worm来访问postgres数据库. 创建实体类 CREATE TABLE users(i ...
- 配置RODBC访问PostgreSQL数据库
走了不少弯路,总算把这个问题搞定,贴到这里分享给大家. 1:下载安装PostgreSQL的ODBC驱动 http://www.postgresql.org/ftp/odbc/versions/msi/ ...
- Java入门基础:Java JDBC封装简单的访问MySQL数据库类(BaseDao)
1.JDBC封装访问数据库的基类,目的是重用数据库访问代码 封装以下方法: MySQL数据库的连接 数据库关闭 开启数据库事务 提交数据库事务 事务回滚 注意没有封装存储过程的调用 /** * < ...
- bash shell脚本访问PostgreSQL的三种方式
bash脚本里有三种方式访问PostgreSQL数据库 但前提是要设置密码文件.当然对于有系统对应账户的数据库角色可以绕过密码登录环节,如 1 $ sudo -u postgres psql 或 1 ...
最新文章
- 华为atn980传输设备_注册开发者超200万!华为HMS加速全球布局,打造全场景智慧体验...
- 独家 | 手把手教你用R语言做回归后的残差分析(附代码)
- 参加中国十大IT杰出博客
- java输入一个数字输出_java 输入一个数字,反转输出这个数字的值(实现方法)
- jquery简介 each遍历 prop attr
- rds基于什么开发_IaaS、PaaS、SaaS、DaaS都是什么?现在怎么样了?终于有人讲明白了...
- jquery-获取表格最后一行的序号
- ios git解决冲突_适用于iOS和Linux的远程同步解决方案:Git和工作副本
- 2018-2019-1 20165227 20165228 20165237 实验五 通讯协议设计
- linux 设置pip 镜像 Pip Warning:–trusted-host 问题解决方案
- 五年引用量最高的10大AI论文:Adam第一,Transformer上榜,竟然没有ResNet?
- 退休后你和原工作单位还有联系吗?
- python求第三边长_如何用python求第三条边边长
- layui表格取消横向滚动条_layui表格固定表头统一处理方案
- python代理ip连接失败_遇到问题--python--爬虫--使用代理ip第二次获取代理ip失败
- batchplot插件用法_autocad批量打印工具2015-BatchPlot(AutoCAD批量打印软件)3.5.9 官方最新版【附使用教程】-东坡下载...
- 电信IHO-3000机顶盒高安版 悦ME刷机固件
- 常用的60招电脑操作
- 微信小程序里面的单步调试和变量查看
- Color类颜色对照表
热门文章
- ABP vNext微服务架构详细教程——分布式权限框架(上)
- 使用 CliWrap 让C#中的命令行交互举重若轻
- 当.NET遇到机器学习
- 迎.NET6,今日先送200P全新视频教程 / 源码
- 通过Dapr实现一个简单的基于.net的微服务电商系统(八)——一步一步教你如何撸Dapr之链路追踪
- 一个简单的规则引擎例子
- 阿星Plus:基于abp vNext开源一个博客网站
- 注意| .NET开发者大会防疫须知 !
- ASP.NET Core Blazor Webassembly 之 路由
- 大揭秘| 我司项目组Gitlab Flow DevOps流程