无码中文字幕色专区_91av俱乐部_无码人妻h动漫_26uuu成人_91九色丨porny丨国产jk_青青视频在线播放_国内自拍第二页_国产又粗又长又爽又黄的视频_色哟哟免费网站_久久出品必属精品_a级黄色一级片_99日在线视频

首頁 新聞 工控搜 論壇 廠商論壇 產品 方案 廠商 人才 文摘 下載 展覽
首頁 | 培訓研討 | 公司簡介 | 聯系方式 | 公司動態 | 產品 | 應用實例 | 下載 | 文摘 | 誠聘 |
紫金橋組態軟件基于內置SQL查詢歷史數據的方法

紫金橋軟件技術有限公司
收藏本文     查看收藏

一、引言

 

  在項目中,經常會涉及到查詢歷史數據,通常情況下都是使用查詢歷史的專用組件,或者利用系統函數GetHisDataEx()以及相關的函數進行查詢,但是上述兩種方法都有一定的局限性,現在紫金橋推出一種全新的查詢方法:基于內置SQL查詢歷史數據的方法。

 

二、功能實現

 

  1.功能頁面布局

 

  首先,創建一個窗口,窗口中如下圖所示布局。放置兩個“起始時間”控件用來控制查詢歷史數據的時間范圍,分別命名為_StartTime、_EndTime;放置一個“文本框”,用來輸入時間間隔,命名為_INTERVAL;放置一個“按鈕”,用來控制查詢腳本;在下面放置一個“自由報表”,用來顯示已經查詢出來的歷史數據,命名為RPT_Data。并在窗口導航樹下選擇:畫面\查詢\內置SQL查詢,新建一個查詢命名為ObSql1。

 

 

  2.腳本實現

 

  所有的腳本均寫在查詢按鈕中,方法比較簡單,首先要在設置時間范圍與時間間隔,然后在查詢按鈕中選擇所要查詢的數據點,并按照設置的數據進行查詢,最后將查詢到的數據放置到自由報表中。下面來分析查詢按鈕中的腳本。

 

ObHost Host1;

ObDataTable& ReturnTable;

string StrPar[];

string StrWhereCmd = ""; //Select查詢時的Where語句

string StrNameCmd = ""; //Select查詢時的Where語句中存放點名的字符串

string StrQuery = ""; //總的查詢語句

string StrTableText = ""; 

int i,j;

int nTagCount; //所要查詢數據點的個數

int nEveryTagCount; //每一個數據點返回歷史數據的個數

int nTableVal = 0;

 

  上述部分為定義的一些臨時變量,方便下面寫程序時使用。

 

if  Host1.TagParSelMulti("",StrPar,-1) then

 

  If語句用來判斷是否在點選擇器中選擇了數據點,如果選擇了點,才會執行下面的腳本

 

nTagCount = StrPar.GetCount();

for i = 0 to nTagCount-1 step 1

StrNameCmd = StrNameCmd + "'" + StrPar[i] + "',";

next

StrNameCmd = StrNameCmd + "'" + StrPar[nTagCount-1] + "'";

 

  上述語句是將在點選擇器中選擇的數據點按照SQL語句的形式拼接成字符串。

 

StrWhereCmd = "INTERVAL="+IntToStr(#_INTERVAL.Val*1000,10)+"";

StrWhereCmd = StrWhereCmd + " and DATETIME >= #"+#_StartTime.GetStringDateTime()+"#";

StrWhereCmd = StrWhereCmd + " AND DATETIME< #"+#_EndTime.GetStringDateTime()+"#";

StrWhereCmd = StrWhereCmd + " AND NAME IN ("+StrNameCmd+")";

 

  上述語句是拼寫SQL查詢語句中的Where子句,其中第一句是設置時間間隔;第二句是設置查詢的其實時間;第三句是設置查詢的結束時間;第四句是設置所要查詢的歷史數據的數據點。

 

StrQuery = "SELECT Name,DATETIME,VALUE FROM HISDATA WHERE "+StrWhereCmd+"";

 

  上述語句是拼寫整體的SQL查詢語句,按照Where字句中的設置信息,從歷史數據庫中查詢歷史數據,并返回Name,DATETIME,VALUE三個字段的信息,這三個字段分別表示點名,歷史數據的時間和歷史數據。

 

#ObSql1.Connect("本地");

#ObSql1.Query(StrQuery,ReturnTable);

 

  上述語句是執行SQL查詢,并將查詢到的結構返回到通用數據表ReturnTable中。

 

nEveryTagCount = ReturnTable.GetRowCount()/nTagCount;

#RPT_Data.AddCol(nTagCount-1);

#RPT_Data.AddRow(nEveryTagCount-1);

 

  上述語句是按照查詢返回的數據個數及數據點的個數,設置顯示報表的大小,在報表中增加相應的列和行。

 

for i = 2 to #RPT_Data.RowCount() + 1 step 1

#RPT_Data.SetTxt(i,0,StrPar[i-2]); //設置表頭,內容為點名

for j = 0 to nEveryTagCount step 1

ReturnTable.Get("VALUE",j,StrTableText);

#RPT_Data.SetTxt(i,j+1,StrTableText); //按照數據點向報表中放置查詢到的數據

if #RPT_Data.Txt(1,j+1) == "" then 

ReturnTable.Get("DATETIME",j,nTableVal);

#RPT_Data.SetVal(1,j+1,nTableVal); //向報表中放置歷史數據點時間,放置之前要 判斷時間是否已經存在

endif

ReturnTable.RemoveRow(0);

next

next

endif

 

  上述語句是將查詢到的結果放置到顯示報表中。

 

  3.運行效果

 

 

 

三、結束語

 

  通過該方式增加了查詢歷史數據隨意性,且加快了數據查詢的速度。同時,查詢到的數據可以根據自身需要進行多種形式的展示,方便數據的后期處理。


 

狀 態: 離線

公司簡介
產品目錄

公司名稱: 紫金橋軟件技術有限公司
聯 系 人: 李磊
電  話: 0459-8151391-808
傳  真: 0459-8151391-804
地  址: 大慶市高新區服務外包產業園C-1座817室
郵  編: 163316
主  頁:
 
紫金橋軟件相關文摘:
跨平臺實時數據庫變量引用導航功能介紹
跨平臺實時數據庫 如何利用MODBUS仿真軟件測試MODBUS驅動
紫金橋跨平臺實時數據庫如何實現多屏顯示
紫金橋跨平臺軟實時數據庫Web服務器和數據服務器分離訪問的配置
紫金橋跨平臺軟件遠程采集RealInfo6.5
使用虛擬機做的工程實現跨網Web訪問
紫金橋軟件Microsoft Office Access 2003的ODBC數據源配置
紫金橋軟件閘門整體自動化監控系統
通過紫金橋軟件來提高畫面組態速度
組態軟件在配套設備中的應用
紫金橋的關系庫同步工具簡介
紫金橋組態軟件與歐姆龍PLC以太網通信(FINS命令)——CPU型號-CJ2M-CPU33
更多紫金橋軟件文摘...
通過中華工控網在線留言紫金橋軟件技術有限公司:
用戶名: 密碼: 免費注冊為中華工控網會員
請留下您的有效聯系方式,以方便我們及時與您聯絡
 
中華工控網 GKong.com制作發布 廣告聯系
无码中文字幕色专区_91av俱乐部_无码人妻h动漫_26uuu成人_91九色丨porny丨国产jk_青青视频在线播放_国内自拍第二页_国产又粗又长又爽又黄的视频_色哟哟免费网站_久久出品必属精品_a级黄色一级片_99日在线视频
久久精品免费看| 久久国产精品免费一区二区三区 | 国产精品久av福利在线观看| 蜜桃久久久久久| 视频在线观看一区| 日韩在线麻豆| 国产图片一区| 欧美日韩a区| 国产精品宾馆| 91麻豆国产自产在线观看亚洲| 美女视频免费精品| 欧美日韩视频免费观看| 免费av一区| 亚洲免费在线| 欧美亚洲国产日韩| 国产精品二区不卡| 久久精品av| 午夜在线观看免费一区| 日韩高清二区| 久久久久久夜| 欧美成人亚洲| 亚洲一区导航| 久久精品97| 97精品国产一区二区三区 | 日韩精品1区| 欧美日韩国产精品一区二区亚洲| 伊人久久大香伊蕉在人线观看热v| 亚洲三级网站| 精品国产18久久久久久二百| 婷婷国产精品| 日韩不卡免费视频| 天堂中文av在线资源库| 美女黄网久久| 精品欧美日韩精品| 国产视频亚洲| 精品一区视频| 欧美日韩国产在线观看网站| 日韩国产高清在线| 91精品蜜臀一区二区三区在线| 亚洲免费资源| 久久久久欧美精品| 亚洲人成在线影院| 欧美日韩免费观看视频| 日本麻豆一区二区三区视频| 成人va天堂| 国产欧美一区二区精品久久久| 日韩免费av| 日韩激情精品| 好看的av在线不卡观看| 国产精品日本一区二区不卡视频| 欧美中文字幕一区二区| 97久久亚洲| 国产高清久久| 91免费精品| 国产伦一区二区三区| 午夜在线精品| 久久精品欧美一区| 欧美国产另类| 日本麻豆一区二区三区视频| 一区免费在线| 久久精品中文| 色偷偷偷在线视频播放| 欧美日韩国产一区二区在线观看| 亚洲午夜精品久久久久久app| 里番精品3d一二三区| 蜜桃视频一区二区三区| 久久久久久色 | 中文精品电影| 激情综合网址| 精品99在线| 国产精品亚洲人成在99www| 视频一区欧美精品| 国产中文一区| 日韩在线欧美| 国产高潮在线| 美女精品一区二区| 国产精品大片免费观看| 日本aⅴ亚洲精品中文乱码| 久久亚洲风情| 日av在线不卡| 国产亚洲一级| 欧美在线亚洲综合一区| 蜜桃精品在线| 日韩国产欧美一区二区| 人在线成免费视频| 成人在线黄色| 国产福利91精品一区二区| 你懂的亚洲视频| 欧美极品中文字幕| 国产麻豆一区| 91嫩草亚洲精品| 亚洲成av在线| 亚洲欧美综合| 好看不卡的中文字幕| 不卡在线一区二区| 久久国产88| 亚洲美女久久| 日韩av影院| 国产精品乱战久久久| 另类小说一区二区三区| 日本а中文在线天堂| 亚洲www啪成人一区二区| 亚洲高清av| 亚洲在线久久| 欧美国产三级| 日韩视频网站在线观看| 亚洲夜间福利| 亚洲三级精品| 国产精品视频一区视频二区| 国产一区二区精品久| 99久久久久| 免费在线看一区| 国产欧美自拍| 日韩不卡免费高清视频| 亚洲深爱激情| 国产精品视频一区视频二区| 97se综合| 亚洲欧洲免费| 精品国产99| 精品一区在线| 日韩av成人高清| av免费不卡国产观看| 国产亚洲精品v| 久久亚洲精品中文字幕| 在线一区免费| 精品资源在线| 日韩在线a电影| 国产一区二区三区网| 女人天堂亚洲aⅴ在线观看| 久久国内精品| 亚洲免费播放| 国产一区二区三区视频在线| 黄色日韩在线| 国产精品www.| 午夜精品婷婷| 精品一区91| 免费在线看一区| 香蕉成人av| 国产欧美一区二区精品久久久| 伊人久久大香线蕉av超碰演员| 国产精品.xx视频.xxtv| 国产亚洲一级| 91免费精品| 国产欧美亚洲精品a| 午夜国产精品视频| 高潮一区二区| 国产欧美三级| 久久亚洲一区| 国产综合激情| 高清精品久久| 国产精品一区毛片| 在线免费观看亚洲| 日韩精品免费一区二区三区| 国产欧美日韩视频在线| 一区久久精品| 久久中文视频| 欧美亚洲日本精品| 久久精品国产福利| 日韩av三区| 热久久国产精品| 免费国产自线拍一欧美视频| 久久精品青草| 日本在线啊啊| 日产午夜精品一线二线三线| 欧美一区免费| 日韩美女精品| 四虎精品一区二区免费| 中文一区在线| 夜夜精品视频| 亚洲一区观看| 黄色不卡一区| 亚洲午夜精品久久久久久app| 日韩专区精品| 欧美成人基地 | 91精品国产乱码久久久久久久| 国产亚洲激情| 国产精品片aa在线观看| 日韩中文字幕1| 偷拍欧美精品| 亚洲一级黄色| 欧美~级网站不卡| 欧美成人午夜| 黄色亚洲大片免费在线观看| 久久青草久久| 久久国产中文字幕| 婷婷国产精品| 欧美网站在线| 欧美在线综合| 亚洲精品婷婷| 青青青国产精品| 国产精品久久国产愉拍| 国产精品极品| 国产精选在线| 日韩欧美中文| 欧美日韩一二三四| 亚洲深夜av| 91精品国产自产精品男人的天堂 | 视频一区二区三区中文字幕| 丝袜美腿成人在线| 日韩二区三区在线观看|