標籤: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