顯示具有 NuGet 標籤的文章。 顯示所有文章
顯示具有 NuGet 標籤的文章。 顯示所有文章

2018年9月26日

PostgreSQL 連線,存取資料方式。使用 C# WinFrom


NuGet 安裝 Npgsql。 (圖1)

圖1



        NuGet 安裝 Npgsql。(圖2)


圖2


安裝成功後,「參考」會有 Npgsql。(圖3)
圖3

使用 ConfigurationManager 需加入 System.configuration 至「參考」 (圖4)

圖4


======= 程式範例 回傳 DataTable

       public static DataTable Npgsql_Data(String sql)
       {
           //參考資料
           //https://www.npgsql.org/doc/index.html
           String connstr = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;

           DataTable dt = new DataTable();
           using (Npgsql.NpgsqlConnection conn = new Npgsql.NpgsqlConnection(connstr))
           {
               conn.Open();
               using (var cmd = new Npgsql.NpgsqlCommand())
               {
                   cmd.Connection = conn;
                   cmd.CommandText = sql;
                   //執行不Query的方式
                   //cmd.ExecuteNonQuery();
                   Npgsql.NpgsqlDataReader dr = cmd.ExecuteReader();
                   dt.Load(dr);
               }
           }

           return dt;

       }


======= 程式範例 回傳 bool

       public static bool Npgsql_Data(String sql,String id,String value,String point)
       {
           bool success = false;
           //https://www.npgsql.org/doc/index.html
           String connstr = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;

           DataTable dt = new DataTable();
           using (Npgsql.NpgsqlConnection conn = new Npgsql.NpgsqlConnection(connstr))
           {
               conn.Open();
               using (var cmd = new Npgsql.NpgsqlCommand())
               {
                   cmd.Connection = conn;
                   cmd.CommandText = sql;
                   cmd.Parameters.AddWithValue("id", id);
                   cmd.Parameters.AddWithValue("value", value);
                   cmd.Parameters.AddWithValue("point", point);
                   if(cmd.ExecuteNonQuery() > 0)
                   {
                       success = true;
                   }else
                   {
                       success = false;
                   }
                   
               }
               
           }
           return success;
       }

2014年5月3日

DataTable 轉 Json,利用ashx回傳入HTML5 C#

在寫 HTML5 時,因為,需要利用 ashx 回傳 Json 字串,但如果自已寫一個 function 是不是太不方便了?

ASP.NET,其實有一個 Newtonsoft.Json.dll 可以使用,但您的VS 2010、2012也許是沒有這個dll檔案,但我建立可以利用 NuGet 來下載

但NuGet又是如何安裝?我覺得可以參考以下的連結

http://blog.miniasp.com/post/2011/05/17/Useful-Visual-Studio-2010-tool-NuGet-Package-Manager.aspx

安裝完後,可以打開 工具 >> NuGet 套件管理員 >> 套件管理器主控台



打開「主控台」後,會出現下圖:



請在 PM> 後面輸入

Install-Package Newtonsoft.Json

這樣您的 Bin 就會自動加入 Newtonsoft.Json.dll

接下來,就可以利用下面的範例:回傳至 HTML5 Client 端

using System;
using System.Web;

/*Json.NET相關的命名空間,請使用NuGet*/
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;

public class GetKS_TOWN : IHttpHandler {
 
    public void ProcessRequest (HttpContext context) {
        DBTools dbtools = new DBTools();
        System.Data.DataTable getLandName = dbtools.GetKS_TOWN();

        //將DataTable轉成JSON字串
        string str_json = JsonConvert.SerializeObject(getLandName, Formatting.Indented);

        context.Response.ContentType = "text/plain";
        context.Response.Write(str_json);
    }

    public bool IsReusable {
        get {
            return false;
        }
    }

}

以上,試試看吧!