码迷,mamicode.com
首页 > 数据库 > 详细

C#中使用PostgreSQL

时间:2017-07-08 21:51:13      阅读:1295      评论:0      收藏:0      [点我收藏+]

标签:pass   url   pre   dap   连接字符串   local   技术分享   blog   system   

  

一.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;
            }
                    
        }
View Code

   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;
            }
        }  
View Code

 

 


  

 

 
 
 

C#中使用PostgreSQL

标签:pass   url   pre   dap   连接字符串   local   技术分享   blog   system   

原文地址:http://www.cnblogs.com/PowerOfHeart/p/7138003.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!