当前位置:我的异常网» VB » 想把二进制数据插入到MYSQL库里,字段为MediumBLOB类

想把二进制数据插入到MYSQL库里,字段为MediumBLOB类型.(存的图片)解决思路

www.myexceptions.net  网友分享于:2013-01-03  浏览:281次

想把二进制数据插入到MYSQL库里,字段为MediumBLOB类型.(存的图片)

查到的资料:

如果你想要把二进制数据插入到一个字符类型的字段中(例如BLOB),下列字符必须由转义序列表示:

NUL

ASCII   0,你应该用   “\0”(一个反斜线和一个ASCII   “0”字符)表示它。

\

ASCII   92,反斜线。需要用   “\\”   表示。

'

ASCII   39,单引号。需要用   “\ '”   表示。

"

ASCII   34,双引号。需要用   “\ "”   表示。

-----------------------------------

问题是:请问我如何转义二进制数据.下面里面看不出来有什么引号之类的..

二进制数据是这样格式:????āā怀怀   ????????????????????┝???‖???????┰?H???????????????????????????????????????????!?ā?āā       ā????????????ā???????慑??脲??????戳色???┚??????????呓噕塗婙摣晥桧橩瑳癵硷穹蒃蚅袇誉鎒閔鞖馘???????????????????????笠????āāāā     ā?????????????w???ㄡ?允愇?㈢?????刳?牢??????????????半啔坖奘捚敤杦楨獪畴睶祸艺蒃蚅袇誉鎒閔鞖馘???????????????????????笠?ú?????????薿?饠???????棈????卺???罊?櫎???????坳??汖???駹??鋏???}?????龗???貦?蔽蠟..........

------解决方案--------------------

参考:http://bbs.xplore.cn/viewthread.php?tid=2507

------解决方案--------------------

我以前回答过多次此类问题,但2006年的贴子不能查到了。

你自己修改一下.

VB把文件存入数据库IMAGE字段

Sub Savepic(FileName As String, IndexNumber As Long)

Dim DcnNWind As New ADODB.Connection

Dim rs As ADODB.Recordset

Set rs = New ADODB.Recordset

DcnNWind.CursorLocation = adUseClient

DcnNWind.Open "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=CUSTOM;Data Source=SERVER "

rs.CursorType = adOpenKeyset

rs.LockType = adLockOptimistic

rs.Open "CustomInfo ", DcnNWind, , adCmdTable

rs.Move (IndexNumber)

Call FileToBlob(rs.Fields( "Image "), FileName, FileLen(FileName))

rs.UpdateBatch adAffectCurrent

End Sub

Private Sub FileToBlob(fld As ADODB.Field, FileName As String, Optional ChunkSize As Long )

Dim fnum As Integer, bytesLeft As Long, bytes As Long

Dim tmp() As Byte

If (fld.Attributes And adFldLong) = 0 Then

Err.Raise 1001, , "Field doesn 't support the GetChunk method. "

End If

fnum = FreeFile

Open FileName For Binary As fnum

bytesLeft = LOF(fnum)

Do While bytesLeft

bytes = bytesLeft

If bytes > ChunkSize Then bytes = ChunkSize

ReDim tmp(1 To bytes) As Byte

Get #1, , tmp

fld.AppendChunk tmp

bytesLeft = bytesLeft - bytes

Loop

Close #fnum

End Sub

VB把文件从IMAGE字段中读到文件中。

Sub loadpic(IndexNumber As Long)

Dim DcnNWind As New ADODB.Connection

Dim rs As ADODB.Recordset

Set rs = New ADODB.Recordset

DcnNWind.CursorLocation = adUseClient

DcnNWind.Open "Provider=SQLOLEDB.1;Integrated Security=SSI;Persist Security Info=False;Initial Catalog=CUSTOM;Data Source=SERVER "

rs.CursorType = adOpenKeyset

rs.LockType = adLockOptimistic

rs.Open "CustomInfo ", DcnNWind, , adCmdTable

rs.Move (IndexNumber)

Call BlobToFile(rs.Fields( "Image "), "c:\windows\temp\tmp.bmp ", rs.Fields( "Image ").ActualSize)

End Sub

Private Sub BlobToFile(fld As ADODB.Field, FileName As String, Optional ChunkSize As Long )

Dim fnum As Integer, bytesLeft As Long, bytes As Long

Dim tmp() As Byte

If (fld.Attributes And adFldLong) = 0 Then

Err.Raise 1001, , "Field doesn 't support the GetChunk method. "

End If

If Dir$(FileName) <> " " Then Kill FileName

fnum = FreeFile

Open FileName For Binary As fnum

bytesLeft = fld.ActualSize

Do While bytesLeft

bytes = bytesLeft

If bytes > ChunkSize Then bytes = ChunkSize

文章评论

c mysql 二进制图片,想把二进制数据插入到MYSQL库里,字段为MediumBLOB类型.(存的图片)解决思路...相关推荐

  1. MySql中把一个表的数据插入到另一个表中的实现代码--转

    MySql中把一个表的数据插入到另一个表中的实现代码 司的一个项目,做报表--要关联的表结构比较多,最后决定把要用的数据集合到一张新表中,需要用到以下的sql语法......分享下: web开发中,我 ...

  2. python数据导入hive_Python操作HIve,将数据插入到Mysql

    Python操作HIve,将数据插入到Mysql import sys from hive_service import ThriftHive from hive_service.ttypes imp ...

  3. influxdb 插入数据_脚本采集数据插入到influxdb数据库里

    #!/bin/bash # 定时收集java服务metrics # curl http://10.7.16.42:6301/metrics demo # 参数: post_influxdb_write ...

  4. MySQL必知必会:数据插入(Insert)

    本篇文章介绍如何使用Insert语句将数据插入到数据库. 数据插入 增删改查是数据库最常用的4个命令,插入算是第二常用,第一是SELECT.插入数据的方式大概有4种 插入完整的行 插入行的一部分 插入 ...

  5. mysql清空数据库中所有表数据_清空mysql数据库所有表数据

    1,查看数据库状态 及启动停止 /etc/init.d/mysqld status/etc/init.d/mysqld start/etc/init.d/mysqld stop 2,给用户配置初始密码 ...

  6. mysql新增列并同时增加数据_图解MySQL | [原理解析] MySQL 为表添加列 是怎么quot;立刻quot;完成的...

    在上一期图解 图解MySQL | MySQL DDL为什么成本高?中,我们介绍了: 传统情况下,为表添加列需要对表进行重建 腾讯团队为 MySQL 引入了 Instant Add Column 的方案 ...

  7. 用Python将excel数据插入到MySQL报错(1265, Data truncated for column ‘num‘ at row 1)

    作为一个小白,这是第一篇帖子. 希望记录自己一路走来遇到的问题,也希望大佬指正. 一.背景: 用Python将数据逐行插入到MySQL. 二.问题: 但在python运行时发现总是报错(1265, D ...

  8. 如何把获取的JSON数据插入到MySQL中

    自己在官网上搞数据存为JSON 然后插入到MySQL里 1 直接爬官网的数据 首先创建一个空的用来存放json文件的文件 // 需求: (1) 读取页面的html // (2) 把数据存入数据库,或存 ...

  9. MySQL将一张表的数据插入到另一张表

    (1)当两张表字段相同,使用以下sql: 将tbl_rooms表数据插入到 db_gbwk.tbl_rooms表中: INSERT INTO db_gbwk.tbl_rooms SELECT * FR ...

最新文章

  1. 如何及时获得AI顶尖科研团队的最新论文与进展?只需一份AI内参!
  2. 理解 React Hooks
  3. 分布式缓存应用(转载的)
  4. Ubuntu 运行Asp.net MVC3
  5. SPI单片机发送ARM接收
  6. mysql 安全删除_mysql的binlog安全删除的一种方法
  7. Linux之特殊的环境变量IFS以及如何删除带有空格的目录
  8. 文案一方面需要创意,但一方面不需要过分沉溺于创意
  9. SEO内容构建流程,SEO内容建设策略有哪些?
  10. anaconda版本选择_Anaconda简介
  11. 一文带你彻底了解电子灌封(灌胶)工艺技术
  12. 使用Visual Studio编译Geos
  13. 超强媒体阵容护航,第一届区块链技术及应用峰会(BTA)·中国引爆开年狂潮
  14. 数据库迁移 软件Spoon Kettle环境搭配(本人踩过的坑)
  15. 用文件保存游戏服务器数据恢复,免越狱 教你恢复游戏数据存档
  16. 程序人生——苏嵌第三天
  17. a烟台计算机哪个学校好,烟台多所学校有新消息,家长速看!
  18. 汉诺塔(Tower of Hanoi)--------递归思路
  19. python用哪种字体比较好_你在用哪种编程字体?
  20. python打开一个不存在的文件报错,python中的文件操作(一)

热门文章

  1. Win10 无法安装到GPT分区形式磁盘,不格式化磁盘解决方案
  2. java店铺装修功能_有赞美业店铺装修前端解决方案
  3. 电脑及服务器维护费会计分录,云服务器费会计分录
  4. 招标服务费计算小程序(2020-12-11)重写主函数加入循环
  5. Mindspore模型训练Modelzoo SEResNext50_32*4d GPU初始化错误
  6. PS第二课--矢量工具和小黑小白
  7. netty Recycler对象回收
  8. 阿里云服务器如何使用admin账户登录
  9. 计算机怎么检测扫描机,怎样把一本书扫描到电脑里?有哪些设备推荐?
  10. Tomcat假死原因排查