<bdo id="4g88a"><xmp id="4g88a">
  • <legend id="4g88a"><code id="4g88a"></code></legend>

    KTL 一個支持C++14編輯公式的K線技術工具平臺 - 第五版,支持sqlite3,全新sqlite3zz語法超簡單使用sqlite3; 添加方差等統計函數。

    K,K線,Candle蠟燭圖。

    T,技術分析,工具平臺

    L,公式Language語言使用c++14,Lite小巧簡易。

    項目倉庫:https://github.com/bbqz007/KTL

    國內倉庫:https://gitee.com/bbqz007/KTL 

    CoreAnimation for Windows: https://github.com/bbqz007/xw

    zqt5 一個超簡單的Qt5窗口語法: https://github.com/bbqz007/zhelper-qt5Widgets

    zqlite3 一個超簡單的流式語法,整合封裝Sqlite3 capis 與 SQL 跟 c/c++程序綁定:https://github.com/bbqz007/sqlite3zz

    KTL提供一個c++14編譯平臺,用戶可以使用c++14編輯自定義技術指標等。

    用戶可以使用crt常用函數,c++標準庫容器以及算法,c++14特性編程。

     

    本期更新內容

    添加方差等統計函數。

    支持sqlite3 capi。

    全新sqlite3zz流式語法,超簡單使用sqlite3 capi,輕松綁定SQL跟c/c++程序, 受JavaBean啟發,實現一定程度的實體類與數據表映射訪問,盡可能免去SQL編程。

     

    本平臺在本期主要添加對sqlite3支持。

    用戶可以使用sqlite3存入結果,加載數據,分析數據等。

    為方便使用sqlite3 capi,本平臺開發了一個全新的sqlite3zz流式語法。

    也許你是SQL高手,但是sqlite3 capi太繁瑣,無法集中業務邏輯。

    也許你輕舟熟駕CREATE, INSERT, UPDATE, SELECT,但是妨礙于不知如何整合在c/c++程序中運行,并綁定參數或結果。

    也許太多問號要綁定,SQL語句是否寫對了問號數量。

    也許你忘了綁定的起始是0還是1,查文檔調試太不想。

    也許..., 還有一千零一個理由讓你覺得麻煩。

     

    現在本平臺提供一個全新的sqlite3zz流式語法。

    1. 對于基本的SQL語法應用,你甚至不用寫任何SQL語句,也不必要認識SQL語法。

    2. 簡化批量插入更新流程。

    3. 完全c++代碼定義表結構。

    4. 輸出流(out << val)綁定參數變量。

    5. 輸入流(in >> val)輸出結果到變量。

    6. 自動生成SQL語句。

    7. 編譯期靜態檢測類型綁定。

     

    示例1,c++代碼定義表結構。

    1   auto tbl2 = make_zqlite3_table(
    2         select_para<int>("1"),
    3         select_para<string>("2"),
    4         select_para<double>("dbl"),
    5         select_para<vector<char>>("blob"),                           
    6         index_para("1", "2"),
    7         index_para("1", "2"));
    8         
    9    

    示例2,自動生成SQL語句

    1     cout << tbl2.create_table_statment("abc") << endl;
    2     cout << tbl2.insert_statment("abc") << endl;
    3     cout << tbl2.update_statment("abc") << endl;
    4     cout << tbl2.select_statment("abc") << endl;
    1 CREATE TABLE IF NOT EXISTS `abc` (`1` INTEGER, `2` VARCHAR, `dbl` REAL, `blob` BLOB, UNIQUE (`1`  DESC, `2`  DESC), UNIQUE (`1`  DESC, `2`  DESC));
    2 INSERT INTO `abc` (`1`, `2`, `dbl`, `blob`) VALUES (?,?,?,?);
    3 UPDATE `abc` SET `1` = ?, `2` = ?, `dbl` = ?, `blob` = ?;
    4 SELECT `1`, `2`, `dbl`, `blob` FROM `abc` ;

    示例3,輸出流綁定參數變量,批量插入更新。

     1     tbl2.open_db("db");
     2     tbl2.create_table("abc");
     3     {
     4         auto oz = tbl2.insert_into("abc");
     5         auto ou = tbl2.update_where("abc", "where `1`=? AND `2` = ?"); 
     6         oz.begin_trans();
     7         oz(1, "2", 4., {0, 0});
     8         oz << 2 << "e" << 1. << make_pair((char*)NULL, 0) << ios_base::end;
     9         if (oz.ignored())
    10             ou << 2 << "e" << 1. << make_pair((char*)NULL, 0) << where_para<int>(2) << where_para<string>("e") << ios_base::end;
    11         oz.commit_trans();    
    12     }

    示例4,輸入流查詢count(0)輸入到變量。

    1 auto cnttbl = make_zqlite3_table(select_para<int>("count(0)").expr());
    2     cnttbl.open_db("db");
    3     {
    4         //// select statment would not lock the database until finalized.
    5         auto iz6 = cnttbl.select_from("abc");
    6         int cnt = 0;
    7         iz6 >> ios_base::beg >> cnt >> ios_base::end;
    8         cout << cnt << endl;
    9     }

    對于上面4個示例,涉及create, insert, update, select的基本使用,完全可以不與SQL語法還有sqltie3 capi打交道。

    示例5,輸入流查詢內聯。

     1 auto join = make_zqlite3_table(
     2         select_para<int>("a.`1`").expr(),
     3         select_para<int>("b.`double`").expr());
     4      5     join.open_db("db");
     6     {
     7         auto ij = join.select_from2("abc a, table1 b limit 1");
     8         auto row = join.create_row();
     9         ij >> ios_base::beg;
    10         for (; !ij.eof(); ij >> ios_base::beg)
    11         {
    12             ij >> std::get<0>(row)
    13                 >> std::get<1>(row)
    14                 >> ios_base::end;
    16             cout << std::get<0>(row) << ", " 
    17                 << std::get<1>(row) << endl;
    18         }
    19     }

     

    下期更新更加精彩。

    posted on 2022-04-18 15:22  bbqz007  閱讀(398)  評論(0編輯  收藏  舉報

    免费视频精品一区二区_日韩一区二区三区精品_aaa在线观看免费完整版_世界一级真人片
    <bdo id="4g88a"><xmp id="4g88a">
  • <legend id="4g88a"><code id="4g88a"></code></legend>