<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 用VB如何實(shí)現文件數據對SQL Server上傳下載

用VB如何實(shí)現文件數據對SQL Server上傳下載

作者: 時(shí)間:2010-12-12 來(lái)源:網(wǎng)絡(luò ) 收藏

本文以VisualBasic6.0和2000環(huán)境下的庫為例,介紹2000庫的上傳和下載。

本文引用地址:http://dyxdggzs.com/article/151220.htm

很多單位尤其是制造業(yè)、設計院,計算機應用開(kāi)展的較早。在這些單位,各種法規的下達以及日常工作中產(chǎn)生的大量數據,形成了種類(lèi)繁雜、數量龐大檔案資料(各種)。面對海量數據,原有檔案管理系統在進(jìn)行數據的備份、還原、更新與維護時(shí)多數已力不從心。傳統的基于文件的管理方式,還給各種檔案的保密工作帶來(lái)了隱患。為此,越來(lái)越多的單位開(kāi)始開(kāi)發(fā)基于數據庫的文件檔案管理系統,以期克服這些毛病。

數據庫的連接

  對數據庫的操作一定在已經(jīng)與本地抑或是網(wǎng)絡(luò )數據庫建立了聯(lián)系的基礎上,建立連接這一需求可以通過(guò)兩種方式。

  為便于理解,這里假定服務(wù)器名為Data_,檔案數據庫名為Science_File,其中的一個(gè)數據表名為office,設計有一個(gè)名稱(chēng)為office、類(lèi)型為Image的字段,用于保存文件。為便于將不同大小的文件存儲在Server的數據表中,必須在數據表中創(chuàng )建一個(gè)Image型的字段,該字段可存儲的最大文件達2GB字節。

  1、利用Adodc控件連接

  VisualBasic提供了一個(gè)Adodc控件。它通過(guò)Adodc屬性的設置,按照向導提示完成數據庫的連接。具體過(guò)程如下:

  首先在屬性頁(yè)中選擇生成按鈕,進(jìn)入數據鏈接屬性對話(huà)框;然后選擇該對話(huà)框中的連接屬性頁(yè),選擇或輸入服務(wù)器名稱(chēng)和數據庫等重要信息;最后測試連接,連接成功后,按確定按鈕,返回到屬性頁(yè)對話(huà)框,可獲得連接字符串,如下例:

Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;Persist;SecurityInfo=False;InitialCatalog=Science_File;DataSource=Data_Server

  通過(guò)下列語(yǔ)句,即可連接到指定的數據庫:

dimodbcstrasString,adoconAsNewADODB.Connection
odbcstr=Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;_
InitialCatalog=Science_File;DataSource=Data_Server
adocon.Openodbcstr'連接到數據庫

  2、利用NetServerEnum函數

  該函數是一個(gè)API函數,通過(guò)它可獲得一個(gè)安裝了SQLServer數據庫管理系統的服務(wù)器列表。方法如下:

PrivateDeclareFunctionNetServerEnumLibnetapi32_
(lpServerAsAny,ByVallLevelAsLong,vBufferAsAny,_
lPreferedMaxLenAsLong,lEntriesReadAsLong,lTotalEntriesAsLong,_
ByVallServerTypeAsLong,ByValsDomain$,vResumeAsAny)AsLong
PrivateDeclareSubCopyMemoryLibkernel32AliasRtlMoveMemory(Destination_
AsAny,SourceAsAny,ByValLengthAsLong)
PrivateDeclareFunctionlstrlenWLibkernel32(ByVallpStringAsLong)AsLong

PrivateTypeSV_100
 platformAsLong
 nameAsLong
EndType

dimsv100AsSV_100,nRetAsLong,iaslong,lServerInfoAsLong
dimlServerInfoAsLong,lPreferedMaxLenAsLong,lEntriesReadAsLong
dimlTotalEntriesAsLong,sDomainAsString,vResumeAsVariant
dimbuffer()AsByte,nLenAsLong
lPreferedMaxLen=65536
nRet=NetServerEnum(0,101,lServerInfo,lPreferedMaxLen,lEntriesRead,lTotalEntries,4,sDomain,vResume)
IfnRet=0ornRet=234Then
 Fori=0TolEntriesRead-1
  CopyMemorysv100,ByVallServerInfo,Len(sv100)
  nLen=lstrlenW(sv100.name)*2
  IfnLenThen
   ReDimbuffer(0To(nLen-1))AsByte
   CopyMemorybuffer(0),ByValsv100.name,nLen
  EndIf
  Combo1.List(i)=buffer'服務(wù)器名
  lServerInfo=lServerInfo+24
 Nexti
EndIf

  得到的服務(wù)器名通過(guò)Combo1控件顯示,可從中選擇儲存檔案數據的服務(wù)器名,再通過(guò)下列語(yǔ)句連接到選定服務(wù)器中的數據庫:

odbcstr=Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;_
InitialCatalog=Science_File;DataSource=Form2.Combo1.Text
adocon.Openodbcstr'連接到數據庫

  其中的變量含義與前述相同,Form2.Combol.Text的內容即為選定的服務(wù)器名。

  通過(guò)以上兩種方法皆可達到連接目的,前者簡(jiǎn)潔但有很大局限性,當數據服務(wù)器名稱(chēng)發(fā)生變化時(shí),必須修改源代碼,很不方便。后者既有較強的操作性又很直觀(guān)。在筆者開(kāi)發(fā)的科技檔案管理系統采用了第二種方法。
數據的上傳

  數據的上傳就是將檔案文件存儲到數據表中。在數據上傳時(shí),因情況不同一般有兩種方式,即單一上傳和批量上傳,前者指一次上傳一個(gè)文件(在數據表中增加一條記錄),后者指一次將一個(gè)文件夾中的所有文件上傳到數據庫。兩者在實(shí)質(zhì)上是統一的,批量上傳時(shí),只需用一個(gè)循環(huán)語(yǔ)句就可。以下介紹單一上傳的過(guò)程。1、打開(kāi)數據表

  通過(guò)以下語(yǔ)句打開(kāi)數據表:

dimoffice_rstAsNewADODB.Recordset
adocon.CursorLocation=adUseClient
office_rst.Openoffice,adocon,adOpenDynamic,adLockOptimistic,adCmdTable


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>