`
zu14
  • 浏览: 459005 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类

VB.NET操作 SQL SERVER的 二进制数据

阅读更多

在VB时期, 向SQL SERVER 中插入二进制数据, 是通过 ADODB.STREAM 实现, 在.NET中, 对 “流”格式的操作更加强大而简单,本篇演示向SQL SERVER 中插入数据并读出的功能.






在窗体上添加一个 OPENFILEDIALOG 控件, 两个PICTUREBOX, 代码如下:
--------------------------------------------------------------------------------------------
    Imports System.IO
Public Class Form1
    Inherits System.Windows.Forms.Form

    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        Me.Dispose(True)
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If ofdPic.ShowDialog = DialogResult.OK Then
            pbPreview.Image = Image.FromFile(ofdPic.FileName)
        End If
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        If pbPreview.Image Is Nothing Then
            MsgBox("请先选择图片", MsgBoxStyle.Exclamation)
            Exit Sub
        End If
        Dim fs As FileStream = New FileStream(ofdPic.FileName, FileMode.Open, FileAccess.Read)
        Dim bt(fs.Length) As Byte
        fs.Read(bt, 0, fs.Length)
        fs.Close()
        fs = Nothing
        Dim sqlConn As SqlClient.SqlConnection = New SqlClient.SqlConnection("Server=(local);User Id=sa;Password=123;Database=pubs")
        sqlConn.Open()
        Dim sqlCmd As New SqlClient.SqlCommand("sp_InsertImage", sqlConn)
        sqlCmd.CommandType = CommandType.StoredProcedure
        sqlCmd.Parameters.Add("@img", SqlDbType.Image).Value = bt
        sqlCmd.ExecuteNonQuery()
        sqlCmd = Nothing
        sqlConn.Close()
        sqlConn = Nothing
        MsgBox("图片插入成功", MsgBoxStyle.Information)
    End Sub

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        Dim sqlConn As SqlClient.SqlConnection = New SqlClient.SqlConnection("Server=(local);User Id=sa;Password=123;Database=pubs")
        sqlConn.Open()
        Dim sqlCmd As New SqlClient.SqlCommand("SELECT img FROM test WHERE t_ID=3", sqlConn)
        sqlCmd.CommandType = CommandType.Text

        Dim bt() As Byte = sqlCmd.ExecuteScalar()
        If Not bt Is Nothing Then
            If bt.Length > 0 Then
                Dim fs As MemoryStream = New MemoryStream(bt)
                pbReview.Image = Image.FromStream(fs)
                'fs.Close
                'fs = Nothing
                '可以自己试着将上面两句的注释去掉, 看有什么效果 ^_^
            Else
                MsgBox("无图片")
            End If
        Else
            MsgBox("无数据")
        End If

        sqlCmd = Nothing
        sqlConn.Close()
        sqlConn = Nothing
    End Sub
End Class
-----------------------------------------------------------------------------
数据库部分:
----------------
use pubs
go
Create Table test(t_ID int identity(1,1), img image)
go
Create Procedure sp_InsertImage
@img image
AS
Insert Into test (img) Values (@img)
go

分享到:
评论

相关推荐

    Vb.net向sql server数据库中保存图片

    VB.NET 向 SQL Server 数据库中保存图片 在本节中,我们将讨论如何使用 VB.NET 将图片保存到 SQL Server 数据库中,并从数据库中取出图片浏览。这个例程使用了 SQL Server 的 Northwind 数据库,其中 employees 表...

    vb.net做的图片存储到SQL数据库

    由于图片是二进制数据,所以通常会存储在BLOB类型的字段中,如SQL Server中的`VARBINARY(MAX)`或`IMAGE`(尽管`IMAGE`已过时,但仍在某些旧系统中使用)。在创建表时,我们需要定义一个用于存储图片的列,例如: ``...

    如何用VB.NET存取SQL Server2000中的图像数据.pdf

    然而,像.jpg或.bmp这样的图像文件通常都会大于8000字节,因此,SQL Server提供了存储二进制大对象(BLOB)的机制,这包括image、text和ntext三种数据类型。BLOB数据并不是直接存储在用户定义的字段上,而是存放在系统...

    用ASP.NET向SQLServer添加图像

    在服务器端的代码(C#或VB.NET)中,我们处理上传事件,读取文件并将其转换为二进制数据: ```csharp protected void btnUpload_Click(object sender, EventArgs e) { if (FileUpload1.HasFile) { byte[] ...

    VB.NET教程中高级篇

    4. 高级数据访问:VB.NET结合ADO.NET库,可以方便地与各种数据库进行交互,如SQL Server、Oracle等。DataSet、DataTable、DataAdapter等组件使得数据的CRUD操作变得简单。 5. 文件和流操作:System.IO命名空间提供...

    VB.net程序源码120实例(VS2013)

    通过这些实例,开发者可以熟悉VB.NET的基础语法、控件使用、数据库操作、网络编程、图形用户界面设计以及系统交互等多个方面,对于提升VB.NET编程技能非常有帮助。学习过程中,不仅要注意代码的实现,还要理解背后的...

    文件(word,txt...)保存到sql server

    首先,我们需要了解SQL Server支持的数据类型,其中BLOB(Binary Large Object)类型如VARBINARY(MAX)或IMAGE用于存储二进制大对象,如文件。Word文档、TXT文本等非结构化数据可以被转换为二进制格式并存储在这样的...

    VB.NET应用集锦例程下载

    4. **数据访问**:VB.NET支持多种数据库访问技术,如ADO.NET,允许开发者连接到SQL Server、Oracle、MySQL等数据库,进行数据查询、更新、插入和删除操作。 5. **文件操作**:VB.NET提供了丰富的文件I/O功能,可以...

    .net 图片的二进制数据库存储和显示

    根据提供的文件信息,我们可以深入探讨如何在.NET框架中处理图片的二进制数据存储与显示。这是一项在Web开发中非常实用的技术,特别是在处理大量图片数据时,通过将图片存储为二进制数据而非传统的文件系统路径,...

    asp.net 二进制数据保存

    本文将深入探讨如何在ASP.NET应用程序中保存二进制数据到数据库,主要聚焦于SQL Server数据库,因为它是ASP.NET开发中最常用的数据库之一。 ### ASP.NET与二进制数据保存 在ASP.NET中,保存二进制数据通常涉及图像...

    VB.NET图片管理软件

    2. 图片存储:图片在服务器端被存储为二进制数据,这需要将图片转换为字节数组,然后利用SQL Server的BLOB(Binary Large Object)字段类型进行存储。VB.NET的`System.IO`命名空间提供了许多方法,如`File....

    [VB.NET源码]文件读写与数据库操作示例

    配合`BinaryReader`和`BinaryWriter`可以处理二进制数据。 二、数据库操作 1. **ADO.NET基础**:在VB.NET中,我们通常使用ADO.NET来连接和操作数据库。它包括`SqlConnection`(SQL Server)、`OleDbConnection`...

    如何将图片转换成二进制存储

    在SQL Server中,可以通过设置字段的数据类型为`Image`或`VarBinary`来存储二进制数据。例如: ```sql CREATE TABLE Images ( ImageID int IDENTITY(1,1) PRIMARY KEY, ImageData varbinary(max) ); ``` 插入...

    学习vb.net教材

    学习如何在VB.NET中读写文件,包括文本文件和二进制文件,以及如何使用流(Stream)进行高级文件操作,对于数据存储和导入导出功能的实现至关重要。 9. **数据库访问** VB.NET提供了ADO.NET库来访问各种数据库,...

    VB实现文件数据对SQL Server上传下载[code.rar]-精品源代码

    然后,这些数据可以通过ADO的Command对象以BLOB(Binary Large Object)形式存入SQL Server的二进制字段,如VARBINARY(MAX)。 3. **文件下载** 文件下载则相反,是从数据库中获取BLOB数据并将其写入本地文件。使用...

    vb.net程序设计实用教程

    学习如何在VB.NET中进行文件读写操作,包括文本文件、XML文件以及二进制文件。同时,将介绍ADO.NET,用于连接和操作数据库,如SQL Server,进行数据查询、更新和删除。 第七章:Windows应用程序界面设计 最后,教程...

    50个VB.NET初学者参考实例源

    9. **数据库访问**:VB.NET可以方便地连接和操作数据库,如使用ADO.NET组件与SQL Server进行交互,进行CRUD(创建、读取、更新、删除)操作。 10. **.NET Framework类库**:VB.NET开发者可以利用.NET Framework提供...

    sqlserver2000 上传图片保存二进制流

    在C#或VB.NET等.NET环境中,你可以使用`System.IO.FileStream`类读取图片文件,并用`System.IO.BinaryReader`将文件内容转换为二进制数据。以下是一个C#示例: ```csharp using (FileStream fs = new FileStream...

    VB.NET2003数据库存图

    在VB.NET 2003开发环境中,存储和读取图像至数据库是一项常见的任务,尤其在构建具有多媒体功能的应用程序时。本示例主要讲解如何将图像...同时,了解如何处理二进制数据和使用数据库API是每个.NET开发者的基本技能。

Global site tag (gtag.js) - Google Analytics