Qt TCP IP 資料儲存部分

2021-10-04 10:15:26 字數 2097 閱讀 1039

qt tcp/ip 資料儲存部分

(1)對於資料的儲存操作,首先得確保接收到了資料,接收客戶端需先監聽任何有可能向其傳送資料的傳送客戶端,使接受客戶端處於等待狀態,通過接受客戶端與傳送客戶端的互動確定是否已連線成功,若連線成功,即可進行從機向主機的資料傳送操作;

//listen

if(mtcpserver-

>

listen

(qhostaddress::any,1)

)//判斷監聽是否成功

else

//若不成功

(2)主機接收資料時同樣得注意資料格式問題,確保接受的資料不會出錯。同從機傳送的資料格式保持一致,首先接收rtu編號,接著是接收資料的起始時間以及結束時間,然後是接收100個資料;

in>>rtu_no;

//接收rtu編號

in>>timestartlabel;

//接收起始時間

in>>timeendlabel;

//接收結束時間

in>>temp;

//接收資料

netdata=temp;

//資料為通過網路接收到的資料

redata=temp.

split

(",");

//逗號區分資料

for(

int i=

0;i<

100;i++

) x[i]

=redata.

at(i)

.todouble()

;line-

>

curve

(x,100);

//將資料反映成圖線形式

(3)主機成功接收資料後將資料儲存在資料庫裡。對資料庫進行操作前首先得開啟資料庫,在資料庫裡新建表用以存放資料,表的內容包括rtu編號、開始時間、結束時間以及資料;

在資料庫裡建立乙個表

char sql_cmd[

500]

;sprintf

(sql_cmd,

"create table rtu(num integer primary key identity(1,1),"

"rtuname varchar(50) not null,"

"timelabelstart varchar(50) not null,"

"timelabelend varchar(50) not null,"

"data text not null)");

qsqlquery *sqlquery=

newqsqlquery

(db);if

(!sqlquery-

>

exec

(sql_cmd)

)sprintf

(sql_cmd,

"create clustered index rtu_idx on rtu (timelabelstart)");

if(!sqlquery-

>

exec

(sql_cmd)

)

將資料存放在資料庫的表中

//insert

qstring command =

qstring

("insert into rtu(rtuname,timelabelstart,timelabelend,data)"

" values('%1','%2','%3','%4')").

arg(rtu_no)

.arg

(timestartlabel)

.arg

(timeendlabel)

.arg

(netdata)

;//將資料的rtu編號、開始及結束時間、資料分別插入表中

qsqlquery *sqlquery=

newqsqlquery

(db)

;//判斷資料是否成功的存入資料庫的表中if(

!sqlquery-

>

exec

(command)

)else

資料儲存與運算子部分總結

大學學習計算機組成原理的時候這部分非常枯燥,程式設計就會發現這些基礎知識在實際中其實很有趣。計算機中用補碼來儲存資料,最大的正數為231 12 31 1,也就是 0x7fffffff 0111 0000 0000 0000 0000 0000 0000 0000 最小的數為 2 31 231 也就是...

資料結構 棧部分 棧的順序儲存

include using namespace std const int maxsize 100 templateclass stack stack datetype a,int num stack void push datetype a datetype pop datetype gettop...

Mysql部分儲存引擎介紹

mysql中建立的庫 資料夾 庫中建立的表 檔案 資料庫中的表也應該有不同的型別,表的型別不同,會對應mysql不同的訪問機制,表型別又稱為儲存引擎。儲存引擎說白了就是如何儲存資料 如何為儲存的資料建立索引和如何更新 查詢資料等技術的實現方法。因為在關聯式資料庫中資料的儲存是以表的形式儲存的,所以儲...