ado联接access数据库,
图片字段为ole格式
有关图片显示、添加、更新、删除的操作办法
需详细说明,如需用什么控件等,标注越多越好啊,
(别光贴一段代码,本人菜鸟级选手)
最好能给出源代码。
200分只要我明白了立即给。
还请各位高手多多指点,谢谢了。

解决方案 »

  1.   

    www.iunknown.com.cn/anya/Picture.zip我给你个程序,为了证明你不是懒惰的,请你自己把程序翻译成简体,哈哈,别怪我,我只有繁体的程序
      

  2.   

    这是作业题吗?
    要是作业题,就好了
     
    viena(维也纳nn-实心木头人)还是找本书看吧,试着做一下,不懂的再到这里来问~
    需要看哪方面的书哪?有什么好书可以介绍一个吗???daisy8675(莫依)
    美女你真能玩我!!!就算是繁体的我也得能打得开啊!!!还是谢谢大家了
      

  3.   

    daisy8675(莫依)
    美女对不起啊,是能打开,而且你的这个源代码功能还真全啊,就是是繁体的。谢谢了
      

  4.   

    我的天啊,我要是把它弄明白了,还不如我自己找本书,慢慢学VB哪!!!
    怪不得cuizm(射天狼) 说你误人子弟哪!!!!!!!!!!!!!!!1
      

  5.   

    哈,我也是在CSDN一个帖子一个帖子慢慢看,才慢慢地有点进步,试着多用社区的搜索引擎吧~!
      

  6.   

    Const ChunkSize As Long = 100
    Const BlockSize As Long = 100
    Const TempFile As String = "tempfile.tmp" '定义临时文件Dim byteData() As Byte '定义数据块数组
    Dim DiskFile As String '图像文件名
    Dim NumBlocks As Long  '定义数据块个数
    Dim FileLength As Long '标识文件长度
    Dim LeftOver As Long   '定义剩余字节长度
    Dim SourceFile As Long '定义自由文件号
    Dim byteChunk() As Byte
    Dim i As Long '定义循环变量Public Sub ShowImage(Image1 As Image, Adodc1 As Recordset) 'Adodc1我使用了ADO控件  Erase byteChunk()
      FieldSize = Adodc1.Fields("照片").ActualSize
      If FieldSize = 0 Then
      Exit Sub
      End If
      '提供一个尚未使用的文件号
      SourceFile = FreeFile
      '打开文件
      Open TempFile For Binary Access Write As SourceFile
      '计算数据块
      NumBlocks = FieldSize \ BlockSize
      LeftOver = FieldSize Mod BlockSize '得到剩余字节数
      '分块读取图像数据,并写入到文件中
      If LeftOver <> 0 Then
        ReDim byteChunk(LeftOver)
        byteChunk() = Adodc1.Fields("照片").GetChunk(LeftOver)
        Put SourceFile, , byteChunk()
      End If
      For i = 1 To NumBlocks
        ReDim byteChunk(BlockSize)
        byteChunk() = Adodc1.Fields("照片").GetChunk(BlockSize)
        Put SourceFile, , byteChunk()
      Next i
      Close SourceFile
      '将文件装入到Image1控件中
      Image1.Picture = LoadPicture(TempFile)
      '删除临时文件
      Kill (TempFile)
    End SubPublic Sub SaveImage(ByVal ImageFile As String, Adodc1 As Recordset)
      
     ' If Adodc1.Recordset.BOF = True Or Adodc1.Recordset.EOF = True Then
      '  Exit Sub
      'End If
      If ImageFile = "" Then
        Adodc1.Fields("照片").AppendChunk ""
      Else
      '提供一个尚未使用的文件号
      SourceFile = FreeFile
      '打开文件
      Open ImageFile For Binary Access Read As SourceFile
      '得到文件长度
      FileLength = LOF(SourceFile)
      '判断文件是否存在
      If FileLength = 0 Then
        Close SourceFile
        MsgBox DiskFile & "无内容或不存在!"
      Else
        NumBlocks = FileLength \ BlockSize '得到数据块的个数
        LeftOver = FileLength Mod BlockSize '得到剩余字节数
        Adodc1.Fields("照片").Value = Null  '数据库的字段的值=空值
        ReDim byteData(BlockSize) '重新定义数据块的大小
        For i = 1 To NumBlocks
          Get SourceFile, , byteData() '读到内存块中
          Adodc1.Fields("照片").AppendChunk byteData()  '写入FLD
        Next i
        ReDim byteData(LeftOver) '重新定义数据块的大小
        Get SourceFile, , byteData() '读到内存块中
        Adodc1.Fields("照片").AppendChunk byteData()  '写入FLD
        Close SourceFile '关闭源文件
      End If
     End If
    End Sub
    Public Sub delImage(ByVal txtsql As String, Image1 As Image) '定义Image1为IMAGE控件
     Dim mrc As Recordset '以及ADO2.6对象
     Set mrc = ExecuteSQL(txtsql)
      mrc.Fields("照片").AppendChunk ""
      mrc.Update
      Image1.Picture = LoadPicture("")
      mrc.Close
      Set mrc = Nothing
    End Sub
      

  7.   

    顺便跟你提个醒,繁<-->简互换,只是字体编码的不相同,支持相同编码的一个非常好的工具也是你现在浏览这个帖用的IE或者其他浏览工具,只是big5,GB2312之间的差别。frm,bas等文件完全可以做文本文件处理,转换是非常简单的事情。算了,不废话了,但是以后如果乱说话,我依旧不客气。
      

  8.   

    看来各位大侠的工作条件都不错啊,都可以在单位上网啊,可叹俺们那块,拨号还得偷偷摸摸的。
    谢谢大家的帮助。
     daisy8675(莫依)
    谢谢你告诉我怎么把它显示出来,我就没转过来这个弯。
    叫美女是对你的尊称啊!!!!
    如果你不喜欢我就不叫了。
    希望你不是对我发的皮气。
      

  9.   


    goodluck2005(拉兄弟一把吧) ( ) 信誉:100  2005-2-18 19:22:02  得分: 0  
     
     
       
    看来各位大侠的工作条件都不错啊,都可以在单位上网啊,可叹俺们那块,拨号还得偷偷摸摸的。
    谢谢大家的帮助。
     daisy8675(莫依)
    谢谢你告诉我怎么把它显示出来,我就没转过来这个弯。
    叫美女是对你的尊称啊!!!!
    如果你不喜欢我就不叫了。
    希望你不是对我发的皮气。  
     -------------------------------------------请楼猪以及IamDeane(冷冷的风(Deane)) 说话尊重点,否则嘿嘿~~~~~~~~~~~~~~~~知道猪怎么死的吗?笨死的(开玩笑)
      

  10.   

    高手有空开玩笑,不会没空给我发个代码吧!!!
    我是真的急用啊______________________________________________________别高手高手的叫,这样我很不习惯!
    最近忙CODEING你要啥代码,????