91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

電子發(fā)燒友App

硬聲App

掃碼添加小助手

加入工程師交流群

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>嵌入式開(kāi)發(fā)>C語(yǔ)言與嵌入式SQL混合編程

C語(yǔ)言與嵌入式SQL混合編程

2017-10-19 | rar | 0.6 MB | 次下載 | 1積分

資料介紹

SQL Server是現(xiàn)階段應(yīng)用程序最普遍采用的數(shù)據(jù)庫(kù)技術(shù),在數(shù)據(jù)庫(kù)中對(duì)圖像、視頻和聲音等數(shù)據(jù)的存取需要越來(lái)越頻繁。普通數(shù)據(jù)可直接在用戶定義的字段上存取,而這類被稱為二進(jìn)制大對(duì)象(Binary Large Object)的大數(shù)據(jù)塊由于其數(shù)據(jù)量太大,不是作為數(shù)據(jù)記錄的一部分被存儲(chǔ)在數(shù)據(jù)記錄頁(yè)中,而是存儲(chǔ)在其所屬的一組專用頁(yè)中,數(shù)據(jù)表的對(duì)應(yīng)字段中僅是一個(gè)十六進(jìn)制的指針,該指針指向存放該記錄的頁(yè)面。由于SQL語(yǔ)言是一種面向集合運(yùn)算的描述語(yǔ)言,其本身不具有過(guò)程性結(jié)構(gòu),使用SQL Server中的Image類型字段存放圖像文件時(shí),Image類型字段是只存儲(chǔ)位串,SQL Server不對(duì)它進(jìn)行編譯,而是由應(yīng)用程序完成解釋。又因Image類型的字段內(nèi)容在SQL Server 2000中不能使用INSERT和UPDATA等語(yǔ)句進(jìn)行插入和更新,所以需編寫專門的過(guò)程來(lái)處理圖像字段。盡管在SQL Server 2005可以使用有關(guān)的函數(shù)解決這一問(wèn)題,但由于實(shí)際的應(yīng)用系統(tǒng)是非常復(fù)雜的,數(shù)據(jù)庫(kù)訪問(wèn)只是其中一個(gè)部分,有些用戶交互、圖形化輸入輸出數(shù)據(jù)只能用高級(jí)語(yǔ)言實(shí)現(xiàn)。利用高級(jí)語(yǔ)言的過(guò)程性結(jié)構(gòu)來(lái)彌補(bǔ)SQL語(yǔ)言實(shí)現(xiàn)復(fù)雜應(yīng)用方面的不足, 將SQL語(yǔ)言嵌入到C語(yǔ)言嵌入式編程將有廣泛的應(yīng)用前景。
  1 嵌入式SQL及語(yǔ)法要素
  1.1 C語(yǔ)言嵌入式語(yǔ)句[1]
  SQL語(yǔ)言可以嵌入到C語(yǔ)言中使用,數(shù)據(jù)庫(kù)管理系統(tǒng)一般采用的處理方法是預(yù)處理方法。預(yù)處理方法就是從含有主程序C語(yǔ)言和SQL語(yǔ)句的程序開(kāi)始的。首先,把程序提交給一個(gè)專門用于C語(yǔ)言和SQL實(shí)現(xiàn)方式的預(yù)編譯器,預(yù)編譯器從C語(yǔ)言代碼中剝離SQL語(yǔ)句,把SQL語(yǔ)句轉(zhuǎn)換成C語(yǔ)言調(diào)用語(yǔ)句,以使用C語(yǔ)言編譯程序,并將整個(gè)編譯成目標(biāo)代碼,鏈接到各數(shù)據(jù)庫(kù)并形成可執(zhí)行文件。在C語(yǔ)言中嵌入SQL語(yǔ)句產(chǎn)生應(yīng)用程序的過(guò)程為[2]:編輯C源代碼+嵌入式SQL→SQL預(yù)編譯器→C編譯器→鏈接程序(DLL導(dǎo)入庫(kù))→應(yīng)用程序(數(shù)據(jù)庫(kù))。
  1.2 嵌入式SQL的語(yǔ)法要素
 ?。?)創(chuàng)建嵌入式語(yǔ)句。將SQL嵌入到C語(yǔ)言中混合編程,程序中會(huì)含有兩種不同計(jì)算模型的語(yǔ)句。為了區(qū)別SQL語(yǔ)句與C語(yǔ)句,須在所有的SQL語(yǔ)句前加前綴EXEC SQL,且以分號(hào)結(jié)束,一般形式為“EXEC SQL 《SQL語(yǔ)句》”。嵌入式語(yǔ)句分為可執(zhí)行語(yǔ)句和說(shuō)明性語(yǔ)句,可執(zhí)行語(yǔ)句用來(lái)完成在交互式環(huán)境下的SQL語(yǔ)句中的數(shù)據(jù)定義、數(shù)據(jù)操縱和數(shù)據(jù)控制任務(wù),說(shuō)明性語(yǔ)句用于聲明通信區(qū)和SQL變量等。
 ?。?)SQL通信區(qū)。SQL Server數(shù)據(jù)庫(kù)管理系統(tǒng)提供了一個(gè)通信區(qū)SQLCA,用于存儲(chǔ)SQL語(yǔ)句運(yùn)行時(shí)DBMS反饋給應(yīng)用程序的狀態(tài),這些信息主要描述系統(tǒng)當(dāng)前工作狀態(tài)以及運(yùn)行環(huán)境等。應(yīng)用程序從SQLCA中取出這些狀態(tài)信息,以決定接下來(lái)執(zhí)行的語(yǔ)句。在C語(yǔ)言中定義為SQL通信區(qū)的語(yǔ)句為:EXEC SQL INCLUDE SQLCA。
 ?。?)主變量。嵌入式SQL語(yǔ)句中可以使用C語(yǔ)言的程序變量及主變量來(lái)輸入或輸出數(shù)據(jù)。一個(gè)主變量可以附帶一個(gè)任選的指示變量用來(lái)指示返回給主變量的值是否為NULL值以及返回給主變量的字符串是否發(fā)生了截?cái)?。輸入主變量出現(xiàn)于SQL語(yǔ)句中時(shí),可在前面加冒號(hào)(:)以區(qū)別表字段名。而定義輸出變量用指示變量的方法,是在SQL語(yǔ)句EXEC SQL BEGIN DECLARE SECTION與EXEC SQL END DECLARE SECTION之間進(jìn)行說(shuō)明。
 ?。?)鏈接數(shù)據(jù)庫(kù)。C程序的主函數(shù)中應(yīng)包含一條登錄語(yǔ)句,向預(yù)編譯和程序提供用戶名和口令,以實(shí)現(xiàn)與SQL Server數(shù)據(jù)庫(kù)管理系統(tǒng)建立鏈接。其命令語(yǔ)法為:EXEC SQL CONNECT TO 服務(wù)器名。數(shù)據(jù)庫(kù)名AS鏈接名 USER 用戶名??诹?。
  2 SQL Server中圖像數(shù)據(jù)處理技術(shù)
  2.1 SQL Server 2000圖像存儲(chǔ)方法
  SQL Server 2000中,對(duì)于小于8 000 B的圖像數(shù)據(jù)可以使用二進(jìn)制數(shù)據(jù)類型(binary、varbinary)表示,但通常要保存的圖像都大于8 000 B,對(duì)于這類大對(duì)像數(shù)據(jù),系統(tǒng)提供了Image數(shù)據(jù)類型。Image數(shù)據(jù)類型不同于其他數(shù)據(jù)類型,該字段內(nèi)容不能使用標(biāo)準(zhǔn)INSERT和UPDATE等語(yǔ)句進(jìn)行插入和更新,因此用C語(yǔ)言程序[3]來(lái)編寫處理圖像文件,需要先將圖像文件等數(shù)據(jù)轉(zhuǎn)換成十六進(jìn)制后存儲(chǔ),再將Image列中的數(shù)據(jù)存儲(chǔ)為位串。SQL Server不能對(duì)它進(jìn)行解釋,Image列數(shù)據(jù)的解釋必須由應(yīng)用程序完成,這與普通的數(shù)據(jù)存儲(chǔ)方式是不同的。Image列所做的全部工作就是提供一個(gè)位置用來(lái)存儲(chǔ)組成圖像數(shù)據(jù)值的位流,這需用到SQL Server中的TEXTPTR、WRITETEXT和UPDATETEXT等函數(shù)進(jìn)行圖形的添加和修改。以下是一個(gè)C語(yǔ)言與SQL Server 2000的嵌入式編程及圖像處理的實(shí)例,程序給出的是解決該問(wèn)題的核心部分。
圖像處理 C語(yǔ)言
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1TC358743XBG評(píng)估板參考手冊(cè)
  2. 1.36 MB  |  330次下載  |  免費(fèi)
  3. 2開(kāi)關(guān)電源基礎(chǔ)知識(shí)
  4. 5.73 MB  |  6次下載  |  免費(fèi)
  5. 3100W短波放大電路圖
  6. 0.05 MB  |  4次下載  |  3 積分
  7. 4嵌入式linux-聊天程序設(shè)計(jì)
  8. 0.60 MB  |  3次下載  |  免費(fèi)
  9. 5基于FPGA的光纖通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
  10. 0.61 MB  |  2次下載  |  免費(fèi)
  11. 6基于FPGA的C8051F單片機(jī)開(kāi)發(fā)板設(shè)計(jì)
  12. 0.70 MB  |  2次下載  |  免費(fèi)
  13. 751單片機(jī)窗簾控制器仿真程序
  14. 1.93 MB  |  2次下載  |  免費(fèi)
  15. 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
  16. 0.86 MB  |  2次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33564次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21548次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
  16. 0.00 MB  |  6653次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537796次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191185次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  14. 158M  |  183278次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)