您现在的位置:首页 > 技术支持技术支持

用VB如何实现文件数据对SQL Server上传下载

发布时间:2017-06-19 09:29:24  来源:大电流电感厂家   查看:

本文以VisualBasic6.0和SQLServer2000环境下的数据库为例共模电感器,介绍文件数据对SQLServer2000数据库的上传和下载。

很多单位尤其是制造业、设计院,计算机应用开展的较早。在这些单位,各种法规文件的下达以及日常工作中产生的大量数据,形成了种类繁杂、数量庞大档案资料(各种文件)。面对海量数据,原有档案管理系统在进行数据的备份、还原、更新与维护时多数已力不从心。传统的基于文件的管理方式,还给各种档案的保密工作带来了隐患。为此,越来越多的单位开始工字电感器开发基于数据库的文件档案管理系统,以期克服这些毛病。

数据库的连接

  对数据库的操作一定在已经与本地抑或是网络数据库建立了联系的基础上,建立连接这一需求可以通过两种方式实现。

  为便于理解,这里假定服务器名为Data_Server,档案数据库名为Science_File,其中的一个数据表名为office,设计有一个名称为office、类型为Image的字段,用于保存文件。为便于将不同大小的文件存储在SQLServer的数据表中,必须在数据表中创建一个Image型的字段,该字段可存储的最大文件达2GB字节。

  1、利用Adodc控件连接

  VisualBasic提供了一个Adodc控件。它通过Adodc属性的设置,按照向导提示完成数据库的连接。具体过程如下:

  首先在属性页中选择生成按钮,进入数据链接属性对话框;然后选择该对话框中的连接属性页,选择或输入服务器名称和数据库等重要信息;最后测试连接,连接成功后,按确定按钮,返回到属性页对话框,可获得连接字符串,如下例:

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

  通过下列语句,即可连接到指定的数据库:

dimodbcstrasString,adoconAsNewADODB.Connection
odbcstr="Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=F差模电感器alse;_
InitialCatalog=Science_File;DataSource=Data_Server"
adocon.Openodbcstr'连接到数据库

  2、利用NetServerEnum函数

  该函数是一个API函数,通过它可获得一个安装了SQLServer数据库管理系统的服务器列表。方法如下:

PrivateDeclareFunctionNetServerEnumLib"netapi32"_
(lpServerAsAny,ByVallLevelAsLong,vBufferAsAny,_
lPreferedMaxLenAsLong,lEntriesReadAsLong,lTotalEntriesAsLong,_
ByVallServerTypeAsLong,ByValsDomain$,vResumeAsAny)AsLong
PrivateDeclareSubCopyMemoryLib"ke插件电感器rnel32"Alias"RtlMoveMemory"(Destination_
AsAny,SourceAsAny,ByValLengthAsLong)
PrivateDeclareFunctionlstrlenWLib"kernel32"(ByVallpStringAsLong)AsLong

PrivateTypeSV_100
 plat表贴电感器formAsLong
 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=234&Then
 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'服务器名
  lServerInfo=lServerInfo+24
 Nexti
EndIf

  得到的服务器名通过Combo1控件显示,可从中选择储存档案数据的服务器名,再通过下列语句连接到选定服务器中的数据库:

odbcstr="Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;_
InitialCatalog=Science_File;DataSource="&Form2.Combo1.Text
adocon.Openodbcstr'连接到数据库

  其中的变量含义与前述相同,Form2.Combol.Text的内容即为选定的服务器名。

  通过以上两种方法皆可达到连接目的,前者简洁但有很大局限性,当数据服务器名称发生变化时,必须修改源代码,很不方便。后者既有较强的操作性又很直观。在笔者开发的科技档案管理系统采用了第二种方法。
数据的上传

  数据的上传就是将档案文件存储到数据表中。在数据上传时,因情况不同一般有两种方式,即单一上传和批量上传,前者指一次上传一个文件(在数据表中增加一条记录),后者指一次将一个文件夹中的所有文件上传到数据库。两者在实质上是统一的,批量上传时,只需用一个循环语句就可。以下介绍单一上传的过程。1、打开数据表 平面变压器厂家 | 平面电感厂家

CCD数码相机电源结构及设计方案概述:介绍了CCD数码相机的结构及对电源的要求,给出了根据电池种类(一般为碱性电池或锂电池)、电池节数及相机尺寸来决定最佳电源解决方案的实现电路和方法。 1 CCD数码相机的架构及电源要求CCD数码相

12V转5V DC-DC 10UF/6.3V/0603 电容短路大神们。 我现在有个遇到问题。 10UF/6.3V/0603 电容短路。 去年12月份的。 现在返回来很多坏板。 是5V 供电这一路的。 上面有4个 10UF的用在不同位置。 但有三个位置容易坏。 请问是什么原因。 满意回复+10jjjyufan 查看完整内容5V 电压 用6.3V的电容 略显耐压不够 如果是陶瓷电容 还勉强可以 钽电容的话 肯定坏的概率更多

智能化粉针药品自动分装系统软硬件设计此页面是否是列表页或首页?未找到合适正文内容。

CopyRight2014
大电流电感 | 大功率电感 | 扁平线圈电感 注塑加工厂