《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > Authorware7中訪問SQL數據庫數據的兩種方法研究
Authorware7中訪問SQL數據庫數據的兩種方法研究
2014年微型機與應用第17期
范翠香
西安理工大學,陜西 西安 710082
摘要: 根據Microsoft ODBC接口、Authorware提供的ODBC.U32系統函數、Authorware中關于file的相關函數以及SQL Server理論,探討并研究了Authorware中靜態和動態方式訪問SQL Server數據庫的方法,給出了Authorware 7中靜態和動態訪問SQL數據庫的實現方法,并分別給出了較為詳細的實例操作過程。
Abstract:
Key words :

  摘 要: 根據Microsoft ODBC接口、Authorware提供的ODBC.U32系統函數、Authorware中關于file的相關函數以及SQL Server理論,探討并研究了Authorware中靜態和動態方式訪問SQL Server數據庫的方法,給出了Authorware 7中靜態和動態訪問SQL數據庫的實現方法,并分別給出了較為詳細的實例操作過程。

  關鍵詞: Authorware;SQL Server;數據庫

  課件和知識測驗等。在這些Authorware的多媒體作品中,經常需要引用SQL Server數據庫中的數據。有時對引用數據只是一種單一靜態展示,有時需要引用實時SQL數據并且對引用SQL數據庫進行編輯修改,即以動態方式訪問SQL數據。這兩種引用SQL數據庫的方法在各種Authorware教材中或是不涉及或是涉及很少。本文就Authorware中靜態方式和動態方式引用SQL數據庫數據的實現方法進行探討并給出詳細的操作實例。

1 以靜態方式引用SQL數據庫中的數據

  在Authorware的多媒體作品中有時候僅僅想引用并展示SQL的數據庫的查詢結果,并不需要對數據庫數據進行其他操作,因此可以用靜態方式引用SQL數據庫中的數據。實現方法是將SQL數據庫查詢結果轉換成文本文件,再利用Authorware提供的內部函數訪問文本文件內容,從而獲得查詢結果集中的記錄及各字段的值。

  1.1 在SQL Server中生成查詢結果的文本文件

  方法1:在SQL中用命令方式實現

 ?。?)在SQL Server Management Studio 中執行如下命令,啟動 show advanced options 項并設置為 1后, 再開啟xp_cmdshell(注:xp_cmdshell 擴展存儲過程將命令字符串作為操作系統命令 shell 執行,并以文本行的形式返回所有輸出)。

  EXEC sp_configure 'show advanced options', 1

  GO

  RECONFIGURE

  GO

  EXEC sp_configure 'xp_cmdshell', 1

  GO

  RECONFIGURE

  GO

  (2)通過bcp將SQL查詢的結果保存在指定的文本文件中。

  EXECmaster.dbo.xp_cmdshell 'bcp "select sno,sname,sex from studb.dbo.student" queryout "F:\authorware\student.txt" -c -T'

  這時保存查詢結果的文本文件student.txt已經存在了,該文件中各字段之間的分隔符為Tab。

  方法2:在SQL Server中用操作方式實現[3]

 ?。?)在SQL Server Management Studio工具菜單欄的選項中,將查詢結果的顯示方式改為以文本格式顯示結果,并將輸出格式的分隔符設置為置表符分隔。

 ?。?)重新啟動服務器后,執行相應的查詢命令:

  Use studb

  Go

  selectsno,sname,sex from student

  go

  在顯示結果的窗格內將最后一個非記錄行刪除。

 ?。?)擊鼠標右鍵,選擇“將結果另存為”命令,保存查詢結果為txt文件。

 ?。?)打開該文本文件后,選擇“另存為”命令,在彈出的另存為對話框中,選擇編碼為ANSI,如圖1所示,單擊保存按鈕。

001.jpg

  1.2 對文本文件進行讀寫操作[3-4]

  (1)用ReadExtFile(“文本文件名”)函數讀取文本文件的內容,函數結果為文本文件的內容字符串。

  Filestring:=ReadExtFile(“文件路徑及文件名”)

  (2)用LineCount()函數獲取整個結果集的記錄行數,默認分隔符為回車。

  Number:=LineCounr(“Filestring”)

  (3)用GetLine() 函數獲取字符串的第n行記錄,結果仍為一個字符串。

  recordstring:=GetLine(“Filestring”,n)

 ?。?)用replace()函數將記錄行中各字段間的分隔符Tab替換為回車符,結果仍為字符串。

  Rec:=Replace(Tab,”\r”,recordstring)

 ?。?)根據實際需要用GetLine()函數分別獲取該記錄中第m個字段值,返回字段值的字符串。

  fields1:=GetLine(rec,m)

 ?。?)在Authorware的顯示圖標中及文字工具顯示所需的字段值。

2 靜態訪問SQL數據實例

  文中的示例數據庫是一個學生成績管理數據庫studb,其中有一個存放著學生基本信息的二維關系表stduent,如圖2所示。

002.jpg

  設計流程線如圖3所示。

003.jpg

 ?。?)在設置窗口大小的計算圖標中輸入代碼:ResizeWindow(240,150)。

 ?。?)再讀取文本文件的計算圖標中輸入代碼:

  txtstring:=ReadExtFile("F:\\student.txt")

  linecount:=LineCount(txtstring)

  rec_n:=1

 ?。?)在顯示記錄的交互圖標的附加計算圖標中輸入代碼:

  rec:=GetLine(txtstring, rec_n)

  rec:=Replace(Tab,"\r",rec)

  fields1:=GetLine(rec,1)

  fields2:=GetLine(rec,2)

  fields3:=getline(rec,3)

 ?。?)在交互圖標中添加文字顯示:

  學號:{fields1}

  姓名:{fields2}

  性別:{fields3}

 ?。?)在交互圖標右側的3個響應方式為按鈕的計算圖標中分別輸入代碼:

  前一記錄:

  if rec_n>1 then

  rec_n:=rec_n-1

  end if

  后一記錄:

  if linecount>rec_n then

  rec_n:=rec_n+1

  end if

  退出:quit()

  (6)運行結果如圖4所示,通過單擊按鈕前一記錄和后一記錄,可進行所有記錄的瀏覽。單擊退出按鈕結束程序。

004.jpg

3 以動態方式訪問SQL數據庫中的數據

  Authorware7提供了一個支持標準ODBC 的數據庫接口—ODBC.U32,從而利用MicroSoft ODBC接口和標準的SQL語言實現對關系數據庫的添加、刪除和查詢等基本操作[3]。

  Authorware 執行數據庫操作時,首先調用外部的U32函數(ODBC.U32),通過數據源或數據庫連接字符串與ODBC驅動程序建立聯系,由ODBC驅動程序連接并打開數據庫;然后用標準 SQL命令通過U32函數的操作訪問數據庫,再對返回的記錄集通過調用某些系統函數可以獲取某條記錄的某個字段的值;最后調用U32函數關閉數據庫連接,結束對數據庫的訪問[2]。

  3.1 控制面板中ODBC(32位)數據源管理的配置


005.jpg

006.jpg

  進行SQL數據源的配置有手動方式和調用“tMsdsn.u32”函數實現 ODBC 數據源的自動配置自動方式,自動方式見參考文獻[2]。本文介紹了手動配置過程。在控制面板中,單擊圖5中的ODBC(32位)項。在彈出的ODBC數據源管理器中,如圖6所示,單擊添加按鈕,在創建數據源的對話框中選擇數據源驅動程序為SQL Native Client,單擊完成,進入到如圖7所示的創建SQL Server新數據源窗口,給數據源命名、選擇服務器、SQL登錄方式以及默認數據庫(如本文中數據庫studb),如圖8所示,并進行數據源連接測試,確定連接測試成功。

  3.2 在Authorware7中操作數據庫

  利用ODBC.U32的3個函數對SQL數據庫打開、執行SQL命令、關閉SQL數據庫操作。

  ODBCHandle:=ODBCOPEN(WindowHandl,ErrorVar,Database,User,password)

  ODBCdata:=ODBCExecute(ODBCHandle,SQLstring)

  ODBCClose(ODBCHandle)

  其中,SQLstring為需要執行的SQL命令,ODBCExecute()的執行結果為結果字符串,對其內容的處理方式同文本方式。

4 動態訪問SQL數據實例

  設計流程線如圖9所示。

009.jpg

 ?。?)在名為“窗口大小”的計算圖標輸入代碼:

  ResizeWindow(240,150)

 ?。?)在名為“odbc代碼”的計算圖標內輸入代碼:

  database:="sql_studb"

  sqlstring:="select sno,sname,sex from student"

  odbcchandle:=ODBCOpen(WindowHandle,"odbccerror",database,"","")

  odbcdata:=ODBCExecute(odbcchandle,sqlstring)

  ODBCClose(odbcchandle)

 ?。?)在名為“統計記錄數”的計算圖標內輸入:

  recordcount:=LineCount(odbcdata)

  n:=1

 ?。?)在交互圖標的附加計算圖標內輸入:

  rec:=GetLine(odbcdata,n)

  rec:=Replace(Tab,"\r",rec)

  fieldcount:=LineCount(rec)

  field1:=GetLine(rec,1)

  field2:=GetLine(rec,2)

  field3:=GetLine(rec,3)

 ?。?)在交互圖標右則的各計算圖標內容同靜態案例一樣。

 ?。?)運行結果如圖10所示。

010.jpg

  本文根據microsoft ODBC接口、Authorware提供的ODBC.U32系統函數、Authorware中關于file的相關函數以及SQL Server理論,探討并研究了Authorware中靜態和動態方式訪問SQL Server數據庫的方法,給出Authorware 7中靜態和動態訪問SQL數據庫的實現方法。以學生成績數據庫studb為SQL數據源,提供了在Authorware7中分別以靜態和動態方式訪問SQL數據庫的詳細操作過程,為需要在Authorware中訪問SQL數據庫數據的多媒體制作者提供參考。

參考文獻

  [1] 王冬.Authorware程序訪問和操作數據庫初探[J].瓊州大學 學報,2006,13(2):113.

  [2] 王彥麗.Authorware 基于 ODBC 技術的數據庫編程[J].電腦知識與技術,2008, 4(3) :623-625.

  [3]朱詩兵,李迎春.Authorware 數據庫編程[M].北京:清華大學出版社,2000.

  [4] 梁培文,葉小平,周奇.基于Authorware實現的多媒體數據庫管理系統的研究[J].中山大學(自然科學版),2008(47):7.


此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          黄色亚洲精品| 国产日韩精品一区二区| 在线视频亚洲欧美| 久久经典综合| 欧美凹凸一区二区三区视频| 牛人盗摄一区二区三区视频| 久久久久久国产精品mv| 激情欧美日韩| 欧美精品网站| 一区二区三区日韩欧美精品| 亚洲福利视频在线| 亚洲欧洲av一区二区三区久久| 久久天天躁夜夜躁狠狠躁2022| 国产日韩欧美日韩大片| 麻豆精品在线视频| 欧美日韩国产另类不卡| 欧美日韩亚洲不卡| 国产精品一区二区在线观看网站| 亚洲电影天堂av| 亚洲愉拍自拍另类高清精品| 极品尤物久久久av免费看| 亚洲一区二区日本| 这里只有精品丝袜| 欧美在线视频a| 亚洲国产va精品久久久不卡综合| 在线精品国产成人综合| 亚洲精品网址在线观看| 国产精品日韩二区| 在线观看精品一区| 欧美精品激情blacked18| 国产精品女同互慰在线看| 久久综合影音| 欧美中文日韩| 欧美看片网站| 国产午夜精品一区二区三区视频| 亚洲黄色免费网站| 精品盗摄一区二区三区| 亚洲欧美激情一区| 一本色道久久99精品综合| 欧美在线地址| 精品成人一区| 国产精品久久久久久超碰| 国产偷国产偷亚洲高清97cao| 国产精品美女久久久久久久| 欧美日韩日本网| 欧美人成免费网站| 亚洲美女一区| 免费在线观看精品| 黄色国产精品一区二区三区| 欧美成年人在线观看| 欧美日韩成人在线播放| 国产精品99一区| 亚洲人成人一区二区在线观看| 欧美视频日韩| 国产精品久久久久久久久久久久| 亚洲国产高清在线| 亚洲免费av观看| 亚洲乱码国产乱码精品精98午夜| 免费成人黄色av| 日韩午夜在线播放| 美女被久久久| 国产精品v一区二区三区| 亚洲欧美影院| 国语自产精品视频在线看一大j8| 亚洲国产高清一区| 欧美激情一二区| 99视频在线精品国自产拍免费观看| 久久综合网络一区二区| 亚洲调教视频在线观看| 国产欧美日韩一区二区三区在线| 欧美激情网站在线观看| 亚洲欧美日韩国产中文在线| 亚洲一区二区三区视频播放| 欧美午夜在线视频| 久久偷窥视频| 日韩视频在线观看免费| 日韩小视频在线观看专区| 国产精品美女在线| 欧美亚洲午夜视频在线观看| 另类综合日韩欧美亚洲| 一区免费视频| 欧美一区二区免费视频| 亚洲国产精品精华液网站| 国产亚洲欧美一区在线观看| 99re6这里只有精品视频在线观看| 亚洲天堂激情| 黑人一区二区三区四区五区| 亚洲国产日日夜夜| 野花国产精品入口| 国产资源精品在线观看| 欧美亚洲综合在线| 国产精品亚洲аv天堂网| 日韩午夜三级在线| 国产精品伦理| 国产精品久久久久久久久久妞妞| av不卡在线| 亚洲一区二区不卡免费| 欧美高清一区二区| 日韩一区二区电影网| 亚洲精品少妇| 亚洲一区二区精品在线| 影音欧美亚洲| 欧美ed2k| 亚洲欧洲另类国产综合| 国产欧美日韩专区发布| 国产精品爽黄69| 欧美日韩午夜激情| 欧美久久久久| 国产亚洲精品高潮| 欧美激情精品久久久久| 日韩视频一区二区三区在线播放免费观看| 欧美日韩视频在线| 在线观看欧美日韩国产| 欧美激情影院| 午夜精品视频在线观看一区二区| 亚洲国产精品久久久| 国产精品人人做人人爽人人添| 狠狠色狠狠色综合日日小说| 亚洲视频高清| 亚洲美女啪啪| 国产精品激情av在线播放| 欧美一级视频一区二区| 亚洲精品久久久久久久久久久| 久久久噜噜噜久久中文字幕色伊伊| 亚洲一区欧美一区| 亚洲欧美日韩天堂| 免费看成人av| 国产一区二区三区在线观看精品| 亚洲欧美日韩网| 欧美精品成人一区二区在线观看| 欧美日韩成人精品| 久久综合中文字幕| 欧美一区二区三区日韩视频| 夜夜嗨av一区二区三区网站四季av| 国产精品午夜电影| 一区二区免费在线播放| 模特精品裸拍一区| 欧美午夜不卡影院在线观看完整版免费| 亚洲成人在线视频播放| 欧美在线不卡| 亚洲黄页一区| 老司机久久99久久精品播放免费| 亚洲第一天堂av| 国产精品视频xxx| 欧美一级免费视频| 一区二区动漫| 性做久久久久久| 欧美性猛交99久久久久99按摩| 亚洲一级在线观看| 欧美激情一区二区三区四区| 亚洲小说欧美另类婷婷| 久久亚洲免费| 中文亚洲欧美| 欧美精品一区二区三区在线播放| 国产精品尤物福利片在线观看| 久久久欧美一区二区| 亚洲欧洲综合另类| 亚洲一区在线直播| 欧美一区二区私人影院日本| 欧美日韩国产一区二区| 久久在线播放| 亚洲素人在线| 欧美日韩在线免费观看| 欧美亚洲一区| 极品日韩av| 久久久久久综合网天天| 精品99一区二区三区| 国内激情久久| 免费不卡中文字幕视频| 国产丝袜美腿一区二区三区| 国产精品视频一二三| 欧美日韩国产区一| 国产性猛交xxxx免费看久久| 欧美成人四级电影| 国产精品永久免费在线| 亚洲国产精品久久久久婷婷884| 欧美日本在线观看| 性18欧美另类| 欧美精品国产| 亚洲精品国产精品国自产观看| 国产字幕视频一区二区| 国产精品免费网站在线观看| 亚洲美女少妇无套啪啪呻吟| 国产一区白浆| 欧美日韩亚洲三区| 国产精品久久久久久久久久直播| 欧美日本久久| 亚洲人成亚洲人成在线观看图片| 欧美大片第1页| 一本色道久久综合精品竹菊| 日韩午夜在线播放| 国产精品v欧美精品v日韩| 日韩午夜视频在线观看| 娇妻被交换粗又大又硬视频欧美| 91久久国产综合久久| 欧美成人精品一区二区| 免播放器亚洲| 亚洲精品极品| 免费观看欧美在线视频的网站| 久久精品亚洲精品国产欧美kt∨| 亚洲欧洲中文日韩久久av乱码| 国产一区二区剧情av在线| 亚洲欧美日韩人成在线播放| 国产乱码精品一区二区三| 亚洲精品在线三区| 六十路精品视频| 欧美国产精品一区| 性色av一区二区三区红粉影视| 欧美了一区在线观看| 亚洲精品影院| 欧美亚洲在线观看| 亚洲精品欧美激情| 国产精品久久久久99| 久久不射网站| 国产精品午夜国产小视频| 一区二区三区不卡视频在线观看| 亚洲综合电影一区二区三区| 99国产精品私拍| 亚洲成色999久久网站| 久久成人精品视频| 国语精品一区| 狠狠色噜噜狠狠狠狠色吗综合| 国产精品久久久久91| 美女图片一区二区| 国产欧美日韩另类视频免费观看| 久久米奇亚洲| 欧美日韩三级视频| 韩国在线一区| 国产一区二区高清视频| 欧美xart系列高清| 国产精品女人毛片| 欧美激情中文字幕乱码免费| 久久爱www| 国产精品综合网站| 亚洲精品国产精品国自产观看| 国产欧美亚洲视频| 亚洲一区在线视频| 久久精品国产亚洲5555| 国产精品五区| 久久er精品视频| 国产精品进线69影院| 蜜桃久久av一区| 一本色道精品久久一区二区三区| 欧美日韩国语| 欧美夜福利tv在线| 国产亚洲视频在线| 亚洲黄色在线看| 久久午夜av| 亚洲自拍啪啪| 亚洲国产精品专区久久| 亚洲欧美久久| 日韩亚洲综合在线| 伊人成人在线视频| 免费在线播放第一区高清av| 久久精品免视看| 久久夜色精品亚洲噜噜国产mv| 美女黄毛**国产精品啪啪| 欧美性大战久久久久久久| 亚洲精品一区二区三区av| 久久免费视频在线| 老司机一区二区三区| 国产精品久久一卡二卡| 亚洲国产岛国毛片在线| 欧美网站大全在线观看| 国产视频久久久久久久| 欧美日韩一区精品| 亚洲欧美日韩精品久久久| 欧美视频一二三区| 国产一区二区按摩在线观看| 亚洲中午字幕| 国产裸体写真av一区二区| 国产欧美精品| 正在播放亚洲一区| 亚洲视频视频在线| 国产精品尤物福利片在线观看| 欧美成人性生活| 国产精品三区www17con| 欧美无乱码久久久免费午夜一区| 中文在线资源观看网站视频免费不卡| 欧美激情综合色| 亚洲伦理网站| 国产精品视频久久久| 久久精品久久99精品久久| 韩日在线一区| 亚洲日本成人女熟在线观看| 在线午夜精品| 午夜在线a亚洲v天堂网2018| 欧美久久久久久久| 老司机精品福利视频| 久久尤物电影视频在线观看| 国产精品久久久久久久午夜片| 国产老肥熟一区二区三区| 亚洲精品少妇网址| 欧美日韩美女一区二区| 欧美日韩在线播放三区| 久久久精品一区二区三区| 国产精品国产a级| 99在线观看免费视频精品观看| 午夜精品三级视频福利| 国产精品高潮呻吟视频| 国产九九视频一区二区三区| 欧美激情va永久在线播放| 亚洲欧美日韩精品综合在线观看| 日韩午夜电影av| 日韩视频免费看| 欧美日精品一区视频| 欧美午夜久久久| 欧美一级黄色录像| 欧美一区在线视频| 狠狠久久五月精品中文字幕| 国产精品视频一二三| 狠狠色伊人亚洲综合成人| 亚洲欧美日韩爽爽影院| 国产精品扒开腿做爽爽爽视频| 亚洲经典三级| 欧美日韩二区三区| 亚洲第一在线综合在线| 亚洲免费中文字幕| 欧美专区一区二区三区| 亚洲午夜在线观看视频在线| 亚洲国产精品久久久久久女王| 亚洲少妇自拍| 欧美xxx成人| 影视先锋久久| 国产一区二区三区无遮挡| 国产亚洲成av人在线观看导航| 亚洲视频电影图片偷拍一区| 欧美激情2020午夜免费观看|