1.C#連接PostgreSQL數(shù)據(jù)庫需要兩個組件:Npgsql.dll和Mono.Security.dll灼擂。下載地址:https://pan.baidu.com/s/1ZFGm2tbZJUGnjmt6uLnASw
2.C#工程里引用上述組件昔逗,在需要使用Npgsql的C#文件頭加入using Npgsql ;
3.在配置文件中配置連接字符串,如下:
<!--要訪問的數(shù)據(jù)庫IP地址钠怯、端口號、數(shù)據(jù)庫名稱过椎、數(shù)據(jù)庫登陸名白指、密碼。加上Encoding避免亂碼>
<connectionStrings>
<add name="PostgreSQL" connectionString="Server=localhost;Port=5432;UserId=admin;Password=admin;Database=test;Encoding=UNICODE;">
</connectionStrings>
獲取連接字符串:public static string connection_pgsql = ConfigurationManager.ConnectionStrings["PostgreSQL"].ToString();
4.獲取DataSet
? ? ? ? public DataSet? GetDataSet(string sql)
? ? ? ? {
? ? ? ? ? ? try
? ? ? ? ? ? {
? ? ? ? ? ? ? ? using (NpgsqlConnection conn = new NpgsqlConnection(connection_pgsql?))
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? conn.Open();
? ? ? ? ? ? ? ? ? ? NpgsqlCommand cmd = new NpgsqlCommand(sql, conn);
? ? ? ? ? ? ? ? ? ? NpgsqlDataAdapter NpgDa = new NpgsqlDataAdapter(cmd);
? ? ? ? ? ? ? ? ? ? DataSet ds = new DataSet();
? ? ? ? ? ? ? ? ? ? NpgDa.Fill(ds);
? ? ? ? ? ? ? ? ? ? return? ds;
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? ? ? catch (Exception ex)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? return new DataSet();
? ? ? ? ? ? }
? ? ? ? }
5.增刪改
? ? ? ? public int ExecuteNonQuery(string sql)
? ? ? ? {
? ? ? ? ? ? try
? ? ? ? ? ? {
? ? ? ? ? ? ? ? using (NpgsqlConnection conn = new NpgsqlConnection(connection_pgsql?))
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? conn.Open();
? ? ? ? ? ? ? ? ? ? NpgsqlCommand cmd = new NpgsqlCommand(sql, conn);
? ? ? ? ? ? ? ? ? ? int r = cmd?.ExecuteNonQuery();? //執(zhí)行查詢并返回受影響的行數(shù)
? ? ? ? ? ? ? ? ? ? conn.Close();
? ? ? ? ? ? ? ? ? ? return r;?
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? ? ? catch (Exception ex)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? return 0;
? ? ? ? ? ? }
? ? ? ? }