C#中使用PostgreSQL

一.C#连接postgresql

    1.为了访问PostgreSQL数据库,需要从pgfoundry网站,下载Npgsql .Net Data Provider for Postgresql的组件。 
      访问 URL:http://pgfoundry.org/frs/?group_id=1000140  注:因为使用的是Net4.0,所以下载了Npgsql-2.2.3-net40.zip。

     2.解压缩zip文件,把 Npgsql.dll和Mono.Security.dll文件拷贝到C#工程目录的packages目录中,加入到References。

     3.在需要使用Npgsql的C#文件头,加入如下的using语句 : using Npgsql;

二、使用

 2.1 连接字符串

    1、在配置文件配置的方法:配置文件中加入如下语句:

        <!--要访问的数据库IP地址、端口号、数据库名称、数据库登录名、密码。遇到乱码 加上Encoding-->

        <connectionStrings>

        <add name="postgre" connectionString="PORT=5432;DATABASE=Demo;HOST=localhost;PASSWORD=root;USER ID=postgres" />
        </connectionStrings>

      在代码中获取配置文件中连接字符串:string connstr =ConfigurationManager.ConnectionStrings["postgre"].ToString();

   2、在代码中配置的方法:      string ConStr = @"PORT=5432;DATABASE=Demo;HOST=localhost;PASSWORD=root;USER ID=postgres" ; 

2.2 建立连接    NpgsqlConnection SqlConn = new NpgsqlConnection(ConStr);

2.3 使用DataAdapter查询,返回DataSet  
        public DataSet ExecuteQuery(string sqrstr)
        {
            DataSet ds = new DataSet();
            try
            {
                using(NpgsqlDataAdapter sqldap = new NpgsqlDataAdapter(sqrstr, sqlConn))
                {
                    sqldap.Fill(ds);
                }
                return ds;
            }
            catch (System.Exception ex)
            {
                CloseConnection();
            }
        }    

  2.4 增删改操作

public int ExecuteNonQuery(string sqrstr)
        {
            try
            {
                sqlConn.Open();
                using (NpgsqlCommand SqlCommand = new NpgsqlCommand(sqrstr, sqlConn))
                {
                    int r = SqlCommand.ExecuteNonQuery();  //执行查询并返回受影响的行数
                    sqlConn.Close();
                    return r; //r如果是>0操作成功!
                }
            }
            catch (System.Exception ex)
            {
                CloseConnection();
                return 0;
            }

        }

  2.5 返回DataReader的查询

        public DbDataReader ExecuteReader( CommandType cmdType, string cmdText)
        {
            sqlConn.Open();
            try
            {
                using (NpgsqlCommand cmd = new NpgsqlCommand(cmdText);)
                {
                    NpgsqlDataReader sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
                return sdr;
                }
            }
            catch
            {
                CloseConnection();
                return null;
            }
        }  


  

 
 
 
时间: 2024-07-29 02:35:45

C#中使用PostgreSQL的相关文章

PostgreSQL介绍以及如何开发框架中使用PostgreSQL数据库

最近准备下PostgreSQL数据库开发的相关知识,本文把总结的PPT内容通过博客记录分享,本随笔的主要内容是介绍PostgreSQL数据库的基础信息,以及如何在我们的开发框架中使用PostgreSQL数据库,希望大家多多提意见. 1.PostgreSQL数据库介绍 PostgreSQL是以加州大学伯克利分校计算机系开发的 POSTGRES,现在已经更名为PostgreSQL.它具有很多不错的特点: 开源:PostgreSQL 是一个自由的对象-关系数据库服务器(数据库管理系统),它在灵活的 B

在scala中访问postgresql(使用sbt)

默认已经安装了scala和SBT,并且对sbt有基本了解,知道怎样用sbt建立一个工程. 添加依赖 要在scala中使用postgresql数据库,需要导入postgresql驱动相关的库文件,postgresql的库文件,可以去其官网上下载,一定要下载和你的scala.Jdk对应的版本.现在有两种途径可以在scala工程编译时添加这个postgresql库: 1. 自己下载这个依赖库,是一个jar文件,把这个文件放到sbt工程目录下的lib\下 2. 不用自己下载这个依赖库,在build.sb

pg_restore - 从一个由 pg_dump 创建的备份文件中恢复 PostgreSQL 数据库。

SYNOPSIS pg_restore [ option...] [ filename] DESCRIPTION 描述 pg_restore 是一种用于恢复由 pg_dump(1) 创建的任何非纯文本输出格式中的 PostgreSQL 数据库的应用. 它将发出必要的命令来重新构造数据库,以便于把它恢复成保存它的时候的样子. 归档(备份)文件还允许pg_restore 有选择地进行恢复, 甚至在恢复前重新排列条目的顺序.归档的文件设计成可以在不同的硬件体系之间移植. pg_restore 可以以两

powerdesigner中反向postgresql

一.下载驱动 https://jdbc.postgresql.org/download.html 在cmd中查看本机jdk的版本,然后再到上面的网页中下载对应的jar 二.设置环境变量 JAVA_HOME.PATH.CLASSPATH 我的电脑 -> 属性 -> 高级 -> 环境变量 -> 系统变量 增加如下配置,如果没有就新增 1. JAVA_HOME,jdk的安装目录 2. PATH,在开头加入 ;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin 3. C

fedora 20中安装postgresql数据库

在fedora 20中在我2014-8-27日安装pg时,pg版本是9.3.5.1我不知是会由pg开发组自动更新还是别的,但安装后一般是最新的版本了. 安装: yum install postgresql yum install postgresql-server yum install pgadmin3 yum install postgresql-contrib yum update postgresql-setup initdb systemctl enable postgresql.se

在Metasploit中使用PostgreSQL

启动postgresql数据库 #service postgresql start 登录数据库 #sudo -u postgres psql psql (11.2 (Debian 11.2-2)) 输入 "help" 来获取帮助信息. 设置postgres密码 postgres=# \password postgres 创建用户msf_db,密码为admin postgres=# CREATE USER msf_db WITH PASSWORD 'admin'; CREATE ROLE

java web中向postgreSQL插入当前时间

方式1 常用插入方式 Timestamp currentTime= new Timestamp(System.currentTimeMillis()); String sql = "INSERT INTO message(date_create) VALUES (" + "'" + currentTime + "'" + ");"; 方式2 使用 占位符 Timestamp currentTime= new Timestamp

Ubuntu下访问Windows中Postgresql

因为项目的原因,需要将Ubuntu中的一些信息记录到Windows中的Postgresql数据库中,查看网上信息,最后成功了,特地记录以下,需要以下步骤: (1)在Windows中Postgresql目录下找到pg_hba.conf文件,并做修改. 在此文件中添加一行,格式参考下面七种: local      database  user  auth-method  [auth-option] host       database  user  CIDR-address  auth-metho

spark1.6配置sparksql 的元数据存储到postgresql中

1:首先配置hive-site.xml <configuration> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:postgresql://192.168.56.103:5432/sparksql</value> </property> <property> <name>javax.jdo.option.Co