免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1973 | 回复: 2
打印 上一主题 下一主题

mysql数据库如何存储二进制数据??? 急急急!!!!!!!! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-10-18 09:20 |只看该作者 |倒序浏览
mysql数据库如何存储二进制数据,能否给一段代码

论坛徽章:
0
2 [报告]
发表于 2004-10-18 10:30 |只看该作者

mysql数据库如何存储二进制数据??? 急急急!!!!!!!!

使用blob数据类型
不知道你使用的是odbc?jdbc?dbi?C api?
我就当你是用odbc,语言是用vb

'CREATE CONNECTION OBJECT AND ASSIGN CONNECTION STRING
Dim conn As ADODB.Connection
Set conn = New ADODB.Connection

conn.ConnectionString = "DRIVER={MySQL ODBC 3.51 Driver};" _
            & "SERVER=127.0.0.1;" _
            & "DATABASE=test;" _
            & "UID=testuser;" _
            & "WD=12345;" _
            & "OPTION=" & 1 + 2 + 8 + 32 + 2048 + 16384

conn.CursorLocation = adUseClient
conn.Open

'CREATE TABLE FOR SAMPLE CODE
conn.execute "CREATE TABLE files(" _
           & "file_id SMALLINT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY," _
           & "file_name VARCHAR(64) NOT NULL," _
           & "file_size MEDIUMINT UNSIGNED NOT NULL," _
           & "file MEDIUMBLOB NOT NULL)"

'OPEN RECORDSET FOR WRITING
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset

Dim mystream As ADODB.Stream
Set mystream = New ADODB.Stream

mystream.Type = adTypeBinary

rs.Open "SELECT * FROM files WHERE 1=0", conn, adOpenStatic, adLockOptimistic

rs.AddNew

mystream.Open
mystream.LoadFromFile "c:\myimage.gif"

rs!file_name = "myimage.gif"
rs!file_size = mystream.size
rs!file = mystream.read
rs.Update
mystream.Close
rs.Close

'OPEN RECORDSET TO READ BLOB
rs.Open "Select * from files WHERE files.file_id = 1", conn
mystream.Open
mystream.Write rs!File
mystream.SaveToFile "c:\newimage.gif", adSaveCreateOverWrite
mystream.close
rs.close

'OPEN RECORDSET FOR UPDATE OF BLOB COLUMN
rs.Open "Select * from files WHERE files.file_id = 1", conn, adOpenStatic, adLockOptimistic
mystream.Open
mystream.LoadFromFile "c:\updateimage.gif"
rs!file = mystream.Read
rs.Update

mystream.Close
rs.Close

'OPEN RECORDSET TO READ UPDATED IMAGE
rs.Open "Select * from files WHERE files.file_id = 1", conn
mystream.Open
mystream.Write rs!file
mystream.SaveToFile "c:\newupdatedimage.gif", adSaveCreateOverWrite

mystream.Close
rs.Close

conn.execute "DROP TABLE files"
conn.Close
msgbox "Success! Check your C:\ directory for newimage.gif and newupdatedimage.gif"

论坛徽章:
0
3 [报告]
发表于 2004-10-18 10:52 |只看该作者

mysql数据库如何存储二进制数据??? 急急急!!!!!!!!

我用的是C API
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP