狠狠爱成人网_日韩一级在线_国产综合自拍_亚洲精品韩国_亚洲视频导航_麻豆成人在线播放_欧美jjzz_一区在线视频观看_美脚丝袜一区二区三区在线观看_欧美91视频

當前位置:系統之家 > 技術開發教程 > 詳細頁面

Delphi處理SQL Server數據

Delphi處理SQL Server數據

更新時間:2019-09-24 文章作者:未知 信息來源:網絡 閱讀次數:

  筆者日前參與開發了一套高速公路收費系統,主要功能是記錄通過收費站的所有車輛的信息,包括時間、車型、金額、車輛圖片資料等,其中涉及到多媒體數據的處理。下面筆者將主要依靠Delphi中的流數據類型來為大家做講解。

  一、選擇數據庫

  1.問題

  常用的桌面型數據庫,如Access、Visual FoxPro等,使用比較簡單,也可以管理多媒體信息。但由于數據庫引擎不夠強大,在管理少量多媒體數據時尚能正常運行,當數據量增大到一定程度后,數據庫的反應就會變得異常緩慢,其性能也大幅下降。在達到某個臨界點時,甚至還會出現數據庫處理能力和待處理數據量的嚴重失衡,而導致假死狀況的出現。筆者有過這樣的經驗,用Visual Fox Pro來管理1萬名學生的照片檔案和學籍信息,這時要進行查詢必須經過長時間等待,最后不得不放棄。

  2.治“標”

  用一些技巧可以加快系統的運行,比如“化整為零”法。即將超大數據分散到眾多數據表中,雖然可以有效地提高數據庫的運行速度,但層次過多使查詢、統計等變得十分不便,而且編程的復雜度和工作量也會隨之大幅增加。

  另外一個常用方法是將多媒體數據保存為獨立的文件,在數據庫中只存儲這些文件的路徑和文件名,從而避免了將海量數據直接存入數據庫。這種為數據庫減負瘦身的方法可用于任何數據庫,通用性好,而且對性能的提升也是可觀的,是一種已經得到廣泛應用的治“標”方法。然而這種方法也有明顯的缺點:結構復雜、不便維護、安全性差,更體現不出數據庫的優點。還是以學籍管理為例,采用這種方法管理1萬甚至更多學生的照片數據,程序非常復雜,維護也十分困難,依然不是治“本”之策。

  3.治“本”

  其實,要處理海量的多媒體數據,再先進的桌面型數據庫都會捉襟見肘,筆者最后采用了企業級數據庫。以SQL Server、Sybase、Oracle等為代表的企業級數據庫具有更強大的性能、更完善的數據管理、更可靠的安全特性和更出色的網絡功能,能夠勝任非常復雜和龐大的數據管理任務,同時它們還提供了豐富的數據類型,以及針對多媒體管理特別優化的引擎。考慮綜合性能、價格等各方面的因素,我們最終選擇SQL Server 2000標準版作為系統的后臺數據庫。
  二、怎樣處理多媒體數據

  1.多媒體數據的存儲

  多媒體信息包括圖像、聲音和視頻等,它們都是以二進制數據集合的形式存在的,在本系統中處理的對象是圖像。SQL Server提供了Image數據類型來存儲可變長度二進制數據(大小范圍為0~2GB)。但Image字段并不能將多媒體數據直接裝入,必須經過一些中間步璨拍芙荽娼ァO旅嬉醞枷袷蕕拇媧⑽蠹醫檣茉躚贒elphi中實現這些中間步驟。

  Delphi中的TStream數據類型以流的形式對字符或非字符數據進行存儲,就像在內存中開辟了一個大小可變的臨時緩存區。它不僅能方便地對外部文件進行讀寫,而且還可以將流中的全部數據直接轉入數據庫,所以用它作橋梁來完成數據存入工作是非常合適的。

  下面的SavetoImage函數的功能是將TStream數據存入數據表的Image字段中。

function SavetoImage(const Stream:TStream;const AField:TField):boolean;
var
FieldStr:string;
PFieldStr:PChar;
begin
Result:=false;
if (Assigned(AField)) and (Assigned(Stream)) then
begin
try
Stream.Seek(0,0);
SetLength(FieldStr,Stream.Size);
PFieldStr:=PChar(FieldStr);
Stream.Read(PFieldStr^,Stream.Size);
AField.Value:=FieldStr;
Result:=true;
except
end;
end;
end;

  下面是調用SavetoImage函數完成圖像數據存儲的程序片段。

Var
FS:TFileStream;
begin
FS:=TFileStream.Create('C:\Car001.jpg',fmOpenRead);
SavetoImage(FS,Adodataset1.FieldBy
Name('st_img'));
FS.Free;
end;

  其中,Adodataset1是與數據庫進行連接的ADO數據集控件,st_img為Image字段。

  2.多媒體數據的轉移

  利用SQL Server所帶的BCP實用工具,可以很方便地將數據庫部分或全部數據復制出來,包括二進制數據。對復制出的多媒體數據可以通過網絡或移動存儲設備將它們轉移到遠端的監控電腦上,再利用BCP將它們復制到監控數據庫中,以便對多媒體數據進行回放或做其它處理。下面是簡化了的將數據從數據庫復制到外部文件和從外部文件復制入數據庫的程序片段。

var
s1:string;
begin
s1:='bcp "select * from st2002..st2002_sf where st_flag=1" queryout c:\Media_data.dat -N -P -S sunnynt\hy2002';
winexec(PChar(s1),sw_show);
end;

  其中“select * from st2002..st2002_sf where st_flag=1”表示從st2002數據庫的st2002_sf表中提取數據,“c:\Media_data.dat”為輸出數據文件,參數queryout表示從查詢中復制數據到外部文件,-N表示進行大容量數據復制操作,-P表示使用默認密碼,-S提定進行數據復制操作的數據庫服務器或實例。

var
s1:string;
begin
s1:= 'bcp ST2002..ST2002_SF in c:\Media_data.dat -n -E -P -S sunnynt \hy2002';
winexec(PChar(s1),sw_show);
end;

  其中參數in表示將數據從外部文件復制到數據表中。

  3.多媒體數據的回放

  同存儲的方法類似,多媒體數據的回放也要借助TStream數據類型作橋梁,而且它基本上是存儲的逆過程。

  LoadfromImage函數的功能是將數據表的Image字段數據裝入TStream中。

function LoadfromImage(const AField:TField;const Stream:TStream):boolean;
var
ResultStr:string;
PResultStr:PChar;
begin
Result:=false;
if (Assigned(AField)) and (Assigned(Stream)) then
begin
try
ResultStr:=AField.Value;
PResultStr:=PChar(ResultStr);
Stream.Write(PResultStr^,length(Result
Str));
Stream.Seek(0,0);
Result:=True;
except
end;
end;
end;

  下面是調用LoadfromImage函數將數據表Image字段中的圖像數據轉出到外部文件中并利用圖像顯示控件回放圖像的程序片段。

var
FS:TFileStream;
begin
FS:=TFileStream.Create('c:\Car001.jpg',fmCreate);
LoadfromImage(adodataset1.fieldby
name('st_img'),FS);
FS.Free;
image1.picture.LoadFromFile('c:\Car001.jpg');
end;

  三、小結

  其它多媒體數據類型如聲音、視頻等的轉出過程與圖像的轉出完全相同,只是回放部分應針對不同媒體類型采用不同的媒體播放控件。

  上面所述的原型程序在Delphi 5/6/7+SQL Server 2000標準版中調試通過,經過適當的擴充和修改后,這些程序在筆者開發的高速公路收費系統中得到了驗證。同樣,這些程序也可使用在如學籍管理、檔案管理、人事管理、商品交易等涉及到多媒體數據的應用系統中。

  如今已經是數碼時代,DC、DV、MP3等數碼設備正逐漸深入到我們生活和工作中,它們產生的圖像、視頻、聲音等多媒體信息呈爆炸式增長,如何有效管理這些多媒體信息成為擺在我們面前的課題。本文簡單討論了利用SQL Server數據庫對多媒體信息進行管理的幾個基本問題,其原理同樣適合Sybase、Oracle等數據庫和Powerbuilder、VB等前端開發工具。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

狠狠爱成人网_日韩一级在线_国产综合自拍_亚洲精品韩国_亚洲视频导航_麻豆成人在线播放_欧美jjzz_一区在线视频观看_美脚丝袜一区二区三区在线观看_欧美91视频
天天做天天摸天天爽国产一区| 日韩精品一区二区三区视频 | 国产自产v一区二区三区c| 日韩三级免费观看| 在线不卡一区二区| 久久久久久9| 亚洲国产清纯| 亚洲免费高清| 国语精品一区| 欧美在线一二三区| 国模一区二区三区白浆| 精品一区二区国语对白| 亚洲成在人线在线播放| 亚洲丝袜另类动漫二区| 亚洲激情一二三区| 亚洲欧美成aⅴ人在线观看 | 久久99热狠狠色一区二区| 亚洲高清免费视频| 一区二区高清在线| 亚洲色图在线播放| 欧美一级高清大全免费观看| 久久综合给合久久狠狠狠97色69| 欧美日韩日本网| 欧美日韩国产首页| 成人永久看片免费视频天堂| 婷婷夜色潮精品综合在线| 亚洲三级小视频| 欧美高清在线一区| 国产精品欧美一区喷水| 精品三级av在线| 久久你懂得1024| 久久综合久久综合久久综合| 日韩免费性生活视频播放| 久久精品在这里| 国产欧美1区2区3区| 久久久久久久久免费| 欧美精品久久99久久在免费线| 精品国产乱码91久久久久久网站| 久久久久一区二区三区四区| 久久精品网站免费观看| 亚洲综合激情网| 男女男精品视频网| 另类成人小视频在线| 日韩专区欧美专区| 成人av网站免费| 亚洲五月婷婷| 免费看亚洲片| 欧美精品电影在线播放| 日韩欧美中文字幕精品| 国产精品美女久久久久高潮| 自拍偷拍亚洲激情| 亚洲www啪成人一区二区麻豆| 国产精品资源站在线| 你懂的国产精品| 国产精品久久国产三级国电话系列| 在线精品亚洲一区二区不卡| 亚洲综合激情另类小说区| 欧美色视频在线| 91免费国产在线| 91丨九色丨国产丨porny| 亚洲成人在线| 欧美日韩国产美女| 综合久久久久综合| 美女诱惑一区二区| 91美女片黄在线观看91美女| 欧美+日本+国产+在线a∨观看| 久久香蕉精品| 久久精品一区蜜桃臀影院| 亚洲精选一二三| 成人福利视频网站| 国产精品亚洲综合色区韩国| 欧美高清激情brazzers| 亚洲一区二区欧美激情| 国内精品久久久久影院一蜜桃| 欧美激情91| 国产一区二区你懂的| 91精品国产综合久久蜜臀| 怡红院av一区二区三区| 黑人精品欧美一区二区蜜桃| 91麻豆精品秘密| 国产婷婷精品| 国产精品电影一区二区三区| 国产一区免费电影| 999在线观看精品免费不卡网站| 欧美v国产在线一区二区三区| 亚洲国产aⅴ成人精品无吗| 不卡的电影网站| 欧美一区二区三区四区视频| 国产精品国产三级国产有无不卡| 国产综合久久久久影院| 欧美私人啪啪vps| 久久久久国产精品厨房| 精品一区二区三区久久| 西西裸体人体做爰大胆久久久| 国产精品高清亚洲| 粉嫩一区二区三区性色av| 色噜噜狠狠一区二区三区果冻| 亚洲一线二线三线视频| 99在线精品视频| 欧美电影在哪看比较好| 五月婷婷激情综合| 亚洲国产精品综合| 一色桃子久久精品亚洲| 97se亚洲国产综合自在线不卡| 欧美天堂一区二区三区| 国内精品自线一区二区三区视频| 男人的天堂成人在线| 亚洲色图一区二区| 国产一区二区黄色| 亚洲卡通欧美制服中文| 狠狠入ady亚洲精品| 91精品国产乱码| 成人在线一区二区三区| 日韩一区二区三区免费看 | 亚洲国产欧美在线| 色偷偷成人一区二区三区91| 一区二区三区国产精华| 一区二区精品国产| 久久中文字幕电影| 欧美三级黄美女| 国产精品乱子久久久久| 国产一区久久| 亚洲一区二区三区视频在线| 国产精品天干天干在观线| 国产高清久久久久| 欧美日韩一区二区三区在线| 99re亚洲国产精品| 亚洲综合不卡| 亚洲国产日产av| 久久av最新网址| 欧美韩国一区二区| 一本一本久久| 一区二区久久久久久| 亚洲性图久久| 蜜臀久久久久久久| 精品国产91久久久久久久妲己 | 国产精品久久久久久久久免费樱桃| 亚洲无玛一区| 亚洲国产精品一区二区www| 一本色道久久综合狠狠躁的推荐| 蜜臀av性久久久久av蜜臀妖精| 日韩午夜激情视频| 亚洲日本精品国产第一区| 美女脱光内衣内裤视频久久网站| 欧美大片日本大片免费观看| 激情欧美国产欧美| 激情久久五月天| 中文字幕日本乱码精品影院| 色婷婷av一区二区三区gif | 亚洲女人av| 高清在线不卡av| 亚洲激情图片qvod| 日韩欧美国产一区在线观看| 1024亚洲| 成人午夜精品一区二区三区| 中文字幕日本不卡| 69av一区二区三区| 亚洲欧洲午夜| 成人福利视频在线| 午夜欧美在线一二页| 久久久久久久电影| 欧美日韩一卡二卡三卡| 亚洲精品一品区二品区三品区| 国产精品一区在线观看你懂的| 亚洲综合免费观看高清完整版 | 91精品国产欧美一区二区成人 | 欧美一区二区三区电影| 国产欧美亚洲日本| 欧美一区二区三区久久精品| 美女视频免费一区| 亚洲欧美日韩系列| 精品国产欧美一区二区| 色哟哟精品一区| 日韩亚洲不卡在线| 欧美二区在线| 成人污视频在线观看| 蜜臀av性久久久久蜜臀aⅴ流畅| 中文字幕一区二区在线观看| 日韩午夜在线影院| 欧美日韩色综合| 久久婷婷激情| 国产婷婷精品| 亚洲小说欧美另类社区| 欧美在线网站| 不卡一区中文字幕| 国产精品99久久久久久久vr| 婷婷开心久久网| 亚洲一二三区不卡| 亚洲免费观看高清| 中文字幕制服丝袜一区二区三区| 精品国产百合女同互慰| 欧美tk丨vk视频| 国产在线精品一区二区夜色| 色综合天天综合色综合av| 亚洲国产成人在线| 欧美三级免费| 盗摄精品av一区二区三区| 免费观看久久久4p| 亚洲大片精品永久免费| 亚洲午夜日本在线观看|