C#連接Postgre SQL

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章