资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

vb.net中ole,vb和net

VB2010版中怎么用用OLE控件连接CAD软件,显示CAD图形?会的给段代码

vb2010(vb.net)貌似已经没有OLE控件

网站建设哪家好,找创新互联公司!专注于网页设计、网站建设、微信开发、小程序制作、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了睢县免费建站欢迎大家使用!

下面的代码是用PictureBox控件显示CAD的DWG文件

Private Structure BITMAPFILEHEADER

Dim bfType As Short

Dim bfSize As Integer

Dim bfReserved1 As Short

Dim bfReserved2 As Short

Dim bfOffBits As Integer

End Structure

Public Function GetDwgImage(ByVal FileName As String) As Image

If Not File.Exists(FileName) Then Exit Function

Dim DwgF As FileStream    '文件流

Dim PosSentinel As Integer  '文件描述块的位置

Dim br As BinaryReader  '读取二进制文件

Dim TypePreview As Integer '缩略图格式

Dim PosBMP As Integer '缩略图位置

Dim LenBMP As Integer '缩略图大小

Dim biBitCount As Short '缩略图比特深度

Dim biH As BITMAPFILEHEADER 'BMP文件头,DWG文件中不包含位图文件头,要自行加上去

Dim BMPInfo() As Byte  '包含在DWG文件中的BMP文件体

Dim BMPF As New MemoryStream  '保存位图的内存文件流

Dim bmpr As New BinaryWriter(BMPF) '写二进制文件类

Dim myImg As Image

Try

DwgF = New FileStream(FileName, FileMode.Open, FileAccess.Read)    '文件流

br = New BinaryReader(DwgF)

DwgF.Seek(13, SeekOrigin.Begin) '从第十三字节开始读取

PosSentinel = br.ReadInt32 '第13到17字节指示缩略图描述块的位置

DwgF.Seek(PosSentinel + 30, SeekOrigin.Begin) '将指针移到缩略图描述块的第31字节

TypePreview = br.ReadByte '第31字节为缩略图格式信息,2 为BMP格式,3为WMF格式

Select Case TypePreview

Case 1

Case 2, 3

PosBMP = br.ReadInt32 'DWG文件保存的位图所在位置

LenBMP = br.ReadInt32 '位图的大小

DwgF.Seek(PosBMP + 14, SeekOrigin.Begin) '移动指针到位图块

biBitCount = br.ReadInt16 '读取比特深度

DwgF.Seek(PosBMP, SeekOrigin.Begin) '从位图块开始处读取全部位图内容备用

BMPInfo = br.ReadBytes(LenBMP)  '不包含文件头的位图信息

br.Close()

DwgF.Close()

With biH  '建立位图文件头

.bfType = H4D42

If biBitCount  9 Then .bfSize = 54 + 4 * (2 ^ biBitCount) + LenBMP Else .bfSize = 54 + LenBMP

.bfReserved1 = 0 '保留字节

.bfReserved2 = 0 '保留字节

.bfOffBits = 14 + H28 + 1024 '图像数据偏移

End With

'以下开始写入位图文件头

bmpr.Write(biH.bfType) '文件类型

bmpr.Write(biH.bfSize) '文件大小

bmpr.Write(biH.bfReserved1) '0

bmpr.Write(biH.bfReserved2) '0

bmpr.Write(biH.bfOffBits) '图像数据偏移

bmpr.Write(BMPInfo) '写入位图

BMPF.Seek(0, SeekOrigin.Begin) '指针移到文件开始处

myImg = Image.FromStream(BMPF) '创建位图文件对象

Return myImg

bmpr.Close()

BMPF.Close()

End Select

Catch ex As Exception

Return Nothing

End Try

End Function

在VB.net中如何将图片转换成二进制保存到Accees中

在access数据库里将字段的类型设置为ole对象

Public img As Byte() '图片处理用的字节数组

img=My.Computer.FileSystem.ReadAllBytes(filePath)'filePath是你图片文件的路径

剩下的就是数据库插入操作了

Dim cn As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Data.mdb")

Dim comm As OleDb.OleDbCommand

comm = New OleDb.OleDbCommand( _

"INSERT INTO Photo(BuFan_F,PhotoNo,Photo) Values('"  Me.CobBuFan.Text.Trim  "','"  Me.txtNo.Text.Trim  "',@image)", cn)

'向数据库添加存储了图片数据的二进制数组

comm.Parameters.Add("@image", _

OleDb.OleDbType.Binary, img.Length).Value = img

If cn.State = ConnectionState.Closed Then cn.Open() '打开数据库连接

comm.ExecuteNonQuery() '执行数据库命令

If cn.State = ConnectionState.Open Then cn.Close() '关闭数据库连接

MessageBox.Show("图片成功保存到数据库", "完成", MessageBoxButtons.OK, MessageBoxIcon.Information)

vb.net2012如何连接excel2010?

使用 ADO 连接到 Excel

ADO 使用 MDAC 中以下两个 OLE DB 提供程序中的任何一个都可以连接到 Excel 数据文件。

Microsoft Jet OLE DB Provider — 或 —Microsoft OLE DB Provider for ODBC Drivers

使用 Microsoft Jet OLE DB Provider

Jet 提供程序只需要两条信息就可以连接到 Excel 数据源:路径(包括文件名),和 Excel 文件版本。

Jet 提供程序使用连接字符串

Dim cn as ADODB.Connection

Set cn = New ADODB.Connection

With cn

.Provider = "Microsoft.Jet.OLEDB.4.0"

.ConnectionString = "Data Source=C:\MyFolder\MyWorkbook.xls;" _

"Extended Properties=Excel 8.0;"

.Open

End With

提供程序版本:必须使用 Jet 4.0 提供程序;Jet 3.51 提供程序不支持 Jet ISAM 驱动程序。如果指定了 Jet 3.51 提供程序,在运行时会出现以下错误信息:

Couldn't find installable ISAM.

Excel 版本:对于 Excel 95 工作簿(Excel 版本 7.0),应指定 Excel 5.0;对于 Excel 97、Excel 2000 或 Excel 2002 (XP) 工作簿(Excel 版本 8.0、9.0 和 10.0),应指定 Excel 8.0 版本。

使用“数据链接属性”对话框的 Jet 提供程序

如果在应用程序中使用“ADO 数据控件”或“数据环境”,就会出现数据链接属性对话框来收集必要的连接设置。

在提供程序选项卡上,选择 Jet 4.0 提供程序;Jet 3.51 提供程序不支持 Jet ISAM 驱动程序。如果指定了 Jet 3.51 提供程序,在运行时会出现以下错误信息:

Couldn't find installable ISAM.

在连接选项卡上,浏览到工作簿文件。忽略“用户 ID”和“密码”项,因为这些不适用于 Excel 连接。(无法打开受密码保护的 Excel 文件作为数据源。)

在所有选项卡上,从列表中选择扩展属性,然后单击编辑值。输入 Excel 8.0;,用分号 (;) 将其与任何其他已有的项分隔。如果忽略此步骤,测试连接时将出现一条错误信息。这是因为如果不另行指定,Jet 提供程序期望 Microsoft Access 数据库。返回到连接选项卡,并单击测试连接。将出现一个消息框,通知测试已成功完成即可。


文章名称:vb.net中ole,vb和net
转载注明:http://cdkjz.cn/article/dseoeee.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220