1.首先添加兩個組件(Mono.Security.dll和Npgsql.dll)
2.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using Npgsql;
using Mono.Security;
namespace XuanWu.Software.EnterPrise
{
/// <summary>
/// Postgre Sql 適配器
/// </summary>
public class PostgreSqlAdapter
{
public PostgreSqlAdapter()
{
}
/// <summary>
/// 執行SQL返回Table
/// </summary>
/// <param name="StrText"></param>
/// <param name="StrConnection"></param>
/// <returns>返回Table</returns>
public DataTable GetPostgreTable(string StrText,string StrConnection)
{
using (NpgsqlConnection conn = new NpgsqlConnection(StrConnection))
{
conn.Open();
NpgsqlCommand cmd = new NpgsqlCommand(StrText, conn);
NpgsqlDataAdapter NpgDa = new NpgsqlDataAdapter(cmd);
DataTable dt = new DataTable();
NpgDa.Fill(dt);
return dt;
}
}
/// <summary>
/// 執行SQL返回字符串
/// </summary>
/// <param name="strText"></param>
/// <param name="StrConnection"></param>
/// <returns>返回字符串</returns>
public string GetpostgreExecuteScalar(string strText, string StrConnection)
{
using (NpgsqlConnection conn = new NpgsqlConnection(StrConnection))
{
conn.Open();
NpgsqlCommand cmd = new NpgsqlCommand(strText, conn);
string PostgreScalar = cmd.ExecuteScalar().ToString();
if (PostgreScalar != null || !string.IsNullOrEmpty(PostgreScalar))
return PostgreScalar;
else return null;
}
}
/// <summary>
/// 執行SQL返回執行是否成功
/// </summary>
/// <param name="StrText"></param>
/// <param name="StrConnection"></param>
/// <returns>返回執行是否成功</returns>
public bool PostgreExecuQuery(string StrText, string StrConnection)
{
using (NpgsqlConnection conn = new NpgsqlConnection(StrConnection))
{
conn.Open();
NpgsqlCommand cmd = new NpgsqlCommand(StrText, conn);
int n = cmd.ExecuteNonQuery();
conn.Close();
if (n > 0) return true;
else return false;
}
}
}
}