SQL

SQL API 是大量經驗的結晶,它大幅簡化了原本 .NET Framework 連線 SQL Server 複雜且重複的語法,重新封裝成使用起來更方便輕巧的方法

Configuration

使用 SQL 之前,如果您只需要針對單一資料庫進行連線,可以在您的 app.configweb.config 中添加以下項目,往後使用 SQL API 時就不需要再設定

<appSettings>
     <add key="DBName" value="資料庫名稱"/>
     <add key="DBHost" value="資料庫主機 IP "/>
     <add key="DBAct" value="連線帳號"/>
     <add key="DBPwd" value="連線密碼"/>
     <add key="Storage" value="D:\Storage"/>
</appSettings>
  • storage 為可選項目,會自動紀錄任何 SQL 錯誤、程式錯誤...等訊息自動記錄到該目錄中

Super simple to use

以下將示範執行一段 SQL,它將自動開啟連線並進行查詢,完成後自動關閉連線,你完全不需額外在寫其他任何語法

示範:

string sql = "select cid,cname from class where cid=@cid"; // SQL 語法,變數使用 @變數 表示
var para = new { cid = 5 }; // 指定 prepared statement (與 @變數 名稱需相同)

由於查詢了 cidcname 兩個欄位的資料,定義資料模型 Model 屬性也對應相同名稱

示範:

public class ModelClass
{
   public int cid { get; set; }
   public string cname { get; set; }
}

使用 quickQuery() 方法會自動將查詢的資料對應到指定的 Model 中,並以陣列方式回傳

示範:

SQL db = new SQL(); // 建立 SQL API 物件
ModelClass[] data = db.quickQuery<ModelClass>(sql,para); // 開啟連線查詢並自動關閉連線

foreach (ModelClass c in data)
{
     Console.WriteLine(c.cid + " " + c.cname); // 輸出
}

輸出:

5 旅行家

備註:由於在程式碼中沒有指定資料庫連線資訊,SQL API 將會以 config 檔案中的設定為主

Dynamic Data v1.20 beta

實驗性功能,使用 quickDynamicQuery 將會回傳 dynamic[] 型態的資料,你可以不需要定義 Model 承接,完全使用動態方式取用資料

SQL db = new SQL();
dynamic[] data = db.quickDynamicQuery("select * from entity");

for(int i = 0; i < data.Length; i++)
{
    Trace.WriteLine((string)data[i].cname);
}

實驗性質功能,有風險:

  1. 資料型態都是動態,轉型上須自行承擔風險
  2. 動態資料在 runtime 才會執行,錯誤也只會在執行時發生,無法預期
  3. 動態資料取用時,可能會發生 Null Reference 的錯誤

More

results matching ""

    No results matching ""