以前我也是不太明白这一点的,但是前一段时间由于急需使用这方面的技术,并且经过一个高手的指点,又经过我自己的试验,对它已经稍微的明白了一些,对于TEXT在数据库中看到的是LONG DATA,我们可以通过CAST这个函数将它转换成你所需要的类型例如文本(当然也有另外一个函数,我不记得是什么了,但是我就用这个),我也就是用它来存放文本,关于这个函数的使用SQL的帮助是有介绍的,您看一下吧,关于这个我就不多说了。主要是现在休息在家,手头上没有很全的资料的。关于IMAGE我只在VB上用过的,前一段时间我的一个同事想要实现存放图片的功能,而我那段时间也正对这个感兴趣,并刚和朋友们讨论过这个问题,我没有看过相关的书,只是朋友的指点和我自己的理解吧,我认为它是把数据一个字节一个字节的存到数据库里的,其实也不仅是图片,各种的文件都是可以存储的,记得当时还开玩笑,说在装机时要用它来给机器作备份,主要的方法吗,我写一个例子吧。
Dim WithEvents adoPrimaryRS As Recordset
Dim buffer() As Byte
Dim db As Connection
Set db = New Connection
db.CursorLocation = adUseClient
db.Open "PROVIDER=MSDASQL;driver={SQL Server};server=cc;uid=sa;pwd=;database=test;"
flen = FileLen("E:\My documents\ccPic\Picture 7.jpg")
ReDim buffer(flen - 1) As Byte
Open "E:\My documents\ccPic\Picture 7.jpg" For Binary As #1
Open "E:\My documents\ccPic\Picture 8.jpg" For Binary As #2
Get #1, , buffer
If adoPrimaryRS.EOF Then
adoPrimaryRS.AddNew
End If
adoPrimaryRS.Fields(3).AppendChunk buffer
adoPrimaryRS.UpdateBatch adAffectAll
Close #1
Dim WithEvents adoPrimaryRS As Recordset
Dim buffer() As Byte
Dim db As Connection
Set db = New Connection
db.CursorLocation = adUseClient
db.Open "PROVIDER=MSDASQL;driver={SQL Server};server=cc;uid=sa;pwd=;database=test;"
flen = FileLen("E:\My documents\ccPic\Picture 7.jpg")
ReDim buffer(flen - 1) As Byte
Open "E:\My documents\ccPic\Picture 7.jpg" For Binary As #1
Open "E:\My documents\ccPic\Picture 8.jpg" For Binary As #2
Get #1, , buffer
If adoPrimaryRS.EOF Then
adoPrimaryRS.AddNew
End If
adoPrimaryRS.Fields(3).AppendChunk buffer
adoPrimaryRS.UpdateBatch adAffectAll
Close #1
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货