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

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

时间: 2024-08-26 00:19:43

VB.NET操作 SQL SERVER的 二进制数据的相关文章

VB.NET操作SQL Server完全模块

server Module ModSql Function GetIntByStr(ByVal FieldName As String, ByVal TableName As String, ByVal ParaName As String, ByVal ParaValue As String) As Integer Dim sqlConnection As New SqlClient.SqlConnection(GetConn) Dim queryString As String = "sel

如何VB实现sql server表里添加数据?

问题描述 如何VB实现sql server表里添加数据? Public Class 图书信息添加 Dim str1 As String Dim str2 As String Dim str3 As String Dim str4 As String Dim a As Integer Dim b As Integer Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 就差这里的代码了啊

SQL Server存储图像数据的机制介绍

本文介绍MIS SQL Server对图像数据的存储机制和存取方法.针对VB开发工具,介绍了一种通过ADO Field 对象的GetChunk 方法和AppendChunk 方法来存取MIS SQL Server中的图像数据的方法. 在一个完善的医院信息MIS中,图像数据的存取是必不可少的,比如X光片.CT像片的保存.一方面,这些图像数据在远程诊疗为准确诊断病情提供了重要的依据,另一方面,也为快速查阅病人资料提供了基本条件.图像数据的存取在其它应用系统如GIS中也有广泛的应用. 1.SQL Se

操作 SQL Server Mobile 2005 数据库的常用 C# 代码

server|sql|数据|数据库 整理几段操作 SQL Server Mobile 数据库的常用 C# 代码,供刚刚接触 SQL Server Mobile 开发的朋友参考. 1. 创建数据库// 创建数据库File.Delete("Test.sdf");SqlCeEngine engine = new SqlCeEngine(    "Data Source='Test.sdf';LCID=1033;Password=\"s$;2'!dS64\";En

如何在SQL Server中恢复数据

server|恢复|数据 在SQL server 中恢复数据的几种办法: 1.自然就是 backup 的 恢复方法 backup 这种方法是最安全,最可靠的方法操作起来也很简单,只要在 sql server 的 enterprise manager中选择 restore 就可以了. 用T-SQL 也可以完成: RESTORE DATABASE test FROM DISK = 'c:\mssql7\backup\test.bak' 当然这是用的 文件恢复,如果是 设备恢复 自然也是可以的. 2.

Visual C#中动态操作SQL Server数据库

在编写数据库应用程序的时候,我们可以通过SQL语句来动态创建.修改数据库以及其中的对象.本文我就向大家介绍如何运用Visual C#来动态操作SQL Server数据库,其中包括如何创建一个SQL Server数据库以及如何创建其中的表.存储过程.视图.索引之类的数据库对象.本文还介绍了如何动态地修改表的模式,如何从表.存储过程以及视图中读取数据并显示在应用程序的数据库控件中. 我们知道SQL语句在操作数据库时运用得最多的是Select.Insert.Update和Delete等对于数据的操作,

SQL Server 2008中数据收集器和管理数据仓库

08年8月份发布的SQL Server 2008充满了许多新特性.其中一个新特性就是数据收集器.与这一新特性相关联的是管理数据仓库(MDW).数据收集器功能非常强大,数据库管理员借助这一工具,能够收集不同来源的统计数据,而管理数据仓库就是用来存放存储这些数据. 一.什么是数据收集器? 数据收集器是SQL Server 服务器上的一个核心组件,它收集来自多种来源的数据,并将收集的数据存储在称为管理数据仓库的关系数据库中.数据采集器使用SSIS和SQL 代理的作业来实现这一功能. 数据收集器按照不同

恢复sql server 2000误删数据的解决办法_MsSql

今天不小心把客户那边的数据库中删了一千多条数据,而且之前又没有备份,真的是很郁闷,后来在网上找到一工具,用起来挺方便,让我躲过一劫. 首先来看一下界面: 输入服务器地址,用户名及密码后点Connect,进入到下面的界面: 在这里选择要恢复数据的数据库,选择Use On-line Log(如果你又备份文件的话就不需要用这个工具了,直接用SQL搞定了).然后点Attach,进入下面的界面: 可以看到左边菜单中有很多功能,我们要恢复数据,首先要查看日志,找出我们误操作的那些日志记录,点Browse下的

SQL Server解析XML数据的方法详解_MsSql

本文实例讲述了SQL Server解析XML数据的方法.分享给大家供大家参考,具体如下: --5.读取XML --下面为多种方法从XML中读取EMAIL DECLARE @x XML SELECT @x = ' <People> <dongsheng> <Info Name="Email">dongsheng@xxyy.com</Info> <Info Name="Phone">678945546</