<script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
如何向数据库字段中写入文件?
1 如何向数据库字段中写入文件?(EXE,TXT,DOC等等)
2 如果文件较大,如何获取写入进度?
3 如何判断文件写入成功?
__________________________________________________________________________
忘了说了,还有就是如何读取这些文件
__________________________________________________________________________
将文件流转化为二进制数据后写入数据库,下面是我写的代码用于读写图片文件的,你只需要在数据库中为字段选择varbinary类型就可以实现其他类型的存储了.没整理,有点乱.
Dim b() As Byte
Dim fs As filestream
Dim br As BinaryReader
Dim strsql As String
Try
fs = New FileStream(finfo.Name, FileMode.Open, FileAccess.Read) ''将选择的图像文件读入到文件流
br = New BinaryReader(fs)
b = br.ReadBytes(fs.Length) ''将文件内容放到字节数组
Catch ex As Exception
MsgBox( "在将文件读入内存时出错: " + ex.Message)
End Try
br.Close()
fs.Close()

strsql = "insert into test(imageName,photo) "
strsql += "values( '' " & finfo.Name & " '',@photo) " ''二进制数据用@标识

Dim sqlCn As SqlConnection = New SqlConnection( "server=dell;database=study;uid=sa;pwd=; ")
sqlCn.Open()
Dim myCommand As SqlCommand = New SqlCommand(strsql, sqlCn)
myCommand.Parameters.Clear()
myCommand.Parameters.Add( "@photo ", OleDb.OleDbType.Binary)
myCommand.Parameters( "@photo ").Value = b
myCommand.ExecuteReader()

读取文件代码如下:
Dim strsql As String
strsql = "select * from test "
Dim sqlCn As SqlConnection = New SqlConnection( "server=dell;database=study;uid=sa;pwd=; ")
Dim bw As BinaryWriter
Dim bufferSize As Integer = 100 ''定义缓冲区长度为100
Dim outbyte() As Byte = New Byte(bufferSize - 1) {} ''定义缓冲区
Dim retval As Long
Dim startIndex As Long = 0
Dim dr As SqlDataReader
Dim myCommand As SqlCommand = New SqlCommand(strsql, sqlCn)
sqlCn.Open()
Dim ms As New System.IO.MemoryStream ''定义内存流对象,将数据库中存储的图像数据先放到内存流中
Try
bw = New BinaryWriter(ms)
dr = myCommand.ExecuteReader()
dr.Read()
TextBox1.Text = dr.GetString(1)
startIndex = 0
retval = dr.GetBytes(2, startIndex, outbyte, 0, bufferSize)

Do While retval = bufferSize ''循环读取余下的内容,每次读取buffersize个字节
bw.Write(outbyte)
bw.Flush() ''清空缓冲区
startIndex += bufferSize ''移动位置指针
retval = dr.GetBytes(2, startIndex, outbyte, 0, bufferSize)
Loop

Dim image As Image = image.FromStream(ms)
Me.PictureBox1.Image = image ''利用内存流在picturebox中生成图像

bw.Write(outbyte, 0, retval) ''写入最后一块数据
bw.Flush()
bw.Close()
ms.Close()
dr.Close()
Catch ex As Exception
MsgBox(ex.Message)
End Try
__________________________________________________________________________
那如果是其他类型的文件呢,就不能用picturebox控件了,那如何读取呢?
__________________________________________________________________________
// 读取

int colIndex = DataReader.GetOrdinal( "MyLargeObjectColumnName ");
byte[] buffer = new byte[DataReader.GetBytes(colIndex, 0, null, 0, int.MaxValue)];
DataReader.GetBytes(colIndex, 0, buffer, 0, buffer.Length);

// 处理 buffer
__________________________________________________________________________
反正读出来全是二进制的,怎么搞随便
__________________________________________________________________________

[VB.NET]如何向数据库字段中写入文件?相关推荐

  1. 将sql数据库字段中的NULL都替换为空

    NULL与空字符串 '' 是相同的????? 在MySQL中,这两者是完全不同的.NULL是指没有值,而"则表示值是存在的,只不过是个空值.(在Oracle中是相同的) 将sql数据库字段中 ...

  2. mysql单价乘以数量_数据库字段中存储的数据数量乘以不同单价的和的算法示例...

    数据库字段中存储的数据数量乘以不同单价的和的算法,适用于记账本程序的计件数据记录,和商品记录等场景. 代码示例如下: //模拟数据库结果集 $arr = array( array( "id& ...

  3. 如何在Ruby中写入文件?

    我需要从数据库中读取数据,然后将其保存在文本文件中. 我怎么能在Ruby中做到这一点? Ruby中有文件管理系统吗? #1楼 在大多数情况下,这是首选方法: File.open(yourfile, ' ...

  4. python中写入文件数据及文件定位操作命令

    如果我们向文件中写入数据的话,我们可以使用write()函数. 写文件: #打开文件 f = open("./index.cpp","w") #1. 写入数据 ...

  5. kotlin读取sd卡里的文件_如何在Kotlin中写入文件?

    其他有趣的变化,因此您可以看到Kotlin的强大功能: 通过创建字符串以一次全部写入的快速版本: File("somefile.txt").writeText(history.en ...

  6. python 文件命令_python中写入文件数据及文件定位操作命令

    如果我们向文件中写入数据的话,我们可以使用write()函数. 写文件: #打开文件 f = open("./index.cpp","w") #1. 写入数据 ...

  7. java中写入文件_java中创建、写入文件的5种方式

    在java中有很多的方法可以创建文件写文件,你是否真的认真的总结过?下面笔者就帮大家总结一下java中创建文件的五种方法. Files.newBufferedWriter(Java 8) Files. ...

  8. DataURL入门,图片储存在数据库字段中

                                                   DataURL入门 DataURL概述 所谓DataURL是指"data"类型的Url ...

  9. servlet文件上传blob_servlet实现从oracle数据库的blob字段中读出文件并显示 | 学步园...

    /* * ReadFile.java * * Created on 2004年11月17日, 下午3:41 */ package jgwl.app; import java.io.*; import ...

最新文章

  1. 人机融合智能:人工智能3.0
  2. C#增删改查操作Access数据库之二(数据库的增加)
  3. werkzeug routing.MapAdapter
  4. Java中常用的加密算法MD5,SHA,RSA
  5. swagger -- 前后端分离的API接口
  6. iOS Android 上传代码库+持续集成+单元测试
  7. python __setattr__, __getattr__, __delattr__, __call__
  8. 简单两步快速实现shiro的配置和使用,包含登录验证、角色验证、权限验证以及shiro登录注销流程(基于spring的方式,使用maven构建)...
  9. hg255d php,hg255d强刷华硕rt-n13u官方固件果断中继成功
  10. SecureCRT软件的使用
  11. 用java类和对象写一个简单的回合制对战游戏
  12. RoadRunner软件初步使用教程
  13. 游戏开发程序员可能会遇到的英文单词
  14. 居家办公小能手,分享提高工作效率的4款办公软件
  15. 【数据库】国土空间规划数据库(全域)_模板空库
  16. 网站降权根服务器有关系吗,导致网站降权或被k的原因有哪些?
  17. FMDB的简单应用(4篇)
  18. vw8000_汽车电子国际测试标准iso16750和VW8000
  19. java 实现atof函数
  20. 简述物联网感知技术_《物联网技术》复习题

热门文章

  1. 在Abaqus中使用f90格式的子程序
  2. 关于STM32定时器中TI1FP1 与TI1FP2及相关话题
  3. 序列自相关矩阵的计算和分析
  4. java android知识点总汇
  5. word2vec词向量原理
  6. Microsoft office 2013找不到igx.dll解决方案
  7. 热门计算机游戏排名,十大pc游戏排行榜 英雄联盟位居第一,第三游戏体验感很强...
  8. solr 关于 carrot2聚类参数配置测试
  9. 窥探MySQL索引与事务
  10. elevation_mapping安装使用