我做了一个出试卷的软件,涉及到图形,由于规定用access建数据库,所以不能存图形,只能把图放在一文件夹中,在出试卷时如何同时把数据库中的试题和相应的图形显示出来,且图形的位置正好在试题下方?

解决方案 »

  1.   

    将文件路径保存在数据库里。
    至于显示,可以是通过picturebox,通过窗体,
    甚至用html,随你挑啦。
      

  2.   

    谁说access 不能存图形的???百年前我就存过!!!!!!!!!!!!!!
      

  3.   

    http://www.csdn.net/cnshare/soft/16/16949.shtm这个控件就可以又显示图形,又能显示文字
      

  4.   

    最好使用Fishzone(阿愚)的办法。
      

  5.   

    谁说access 不能存图形的?说什么高。?
      

  6.   

    我也会用access存图片,我也不是高手。你要想知道发短信给我我告诉你。
      

  7.   

    来学习要心诚,怎能不相信别人呢?
    把access数据库里的存图形的某个字段改为存图形的就行了
      

  8.   

    各位大侠,是不是把类型设为ole,设好后如何存阿,还有如何在vb的richbox中显示,麻烦了!
      

  9.   

    OLE控件  + data 控件 
    可以调出图形,前提是数据库中的文件也要是OLE格式的大家别骂我我也不是高手,
    只是随便说说而已
      

  10.   

    Access不能存图片?我好像没听说过,我自己存过,而且你网上的VB乐园中应该有相应的图片保存和显示的例子程序,好好找找吧
      

  11.   

    用richtextbox控件,然后在数据库中将字段类型定义为ole,使用appendchunk方法将richtextbox控件中的内容先转换为二进制流保存到数据库中.取出时用getchunk方法
      

  12.   

    由于规定用access建数据库,所以不能存图形?????
    Ole字段不是吃干饭的。
      

  13.   

    我也不是高手,但我也会做,ACCESS都不知几年前就可以存图片啦.这个方法简单得要命还说不是高手不要进,真是的.如何调整位置就更简单.
      

  14.   

    楼主你好,这个问题到现在还没有解决吗?
    实际上fishzone(阿愚) 的办法就是可以(使用控件效率运行效率有问题,特别在图片多的时间,数据库会撑得很大)。你只须在ACCESS中存储图片的路径。调用时先查该路径,使用image或picture等简单控件就可以将它们显示出来,一样的效果。
    不瞒你说,我知道美国一家软件公司就是用的这种方法。
      

  15.   

    'AppendChunk 和 GetChunk 方法范例
    '该范例使用 AppendChunk 和 GetChunk 方法用其他记录中的数据填写图像字段。
    '不过是SQLServer的,如果要用Access的,几乎不用改变什么东西。
    '只是要有一个OLE型字段就行了。Public Sub AppendChunkX()   Dim cnn1 As ADODB.Connection
       Dim rstPubInfo As ADODB.Recordset
       Dim strCnn As String
       Dim strPubID As String
       Dim strPRInfo As String
       Dim lngOffset As Long
       Dim lngLogoSize As Long
       Dim varLogo As Variant
       Dim varChunk As Variant
       
       Const conChunkSize = 100   ' 打开连接
       Set cnn1 = New ADODB.Connection
          strCnn = "Provider=sqloledb;" & _
          "Data Source=srv;Initial Catalog=pubs;User Id=sa;Password=; "
       cnn1.Open strCnn
       
       ' 打开 pub_info 表。
       Set rstPubInfo = New ADODB.Recordset
       rstPubInfo.CursorType = adOpenKeyset
       rstPubInfo.LockType = adLockOptimistic
       rstPubInfo.Open "pub_info", cnn1, , , adCmdTable
       
       ' 提示复制徽标。
       strMsg = "Available logos are : " & vbCr & vbCr
       Do While Not rstPubInfo.EOF
          strMsg = strMsg & rstPubInfo!pub_id & vbCr & _
             Left(rstPubInfo!pr_info, InStr(rstPubInfo!pr_info, ",") - 1) & _
             vbCr & vbCr
          rstPubInfo.MoveNext
       Loop
       strMsg = strMsg & "Enter the ID of a logo to copy:"
       strPubID = InputBox(strMsg)
       
       ' 将徽标复制到大块中的变量。
       rstPubInfo.Filter = "pub_id = '" & strPubID & "'"
       lngLogoSize = rstPubInfo!logo.ActualSize
       Do While lngOffset < lngLogoSize
          varChunk = rstPubInfo!logo.GetChunk(conChunkSize)
          varLogo = varLogo & varChunk
          lngOffset = lngOffset + conChunkSize
       Loop
       
       ' 从用户得到数据。
       strPubID = Trim(InputBox("Enter a new pub ID:"))
       strPRInfo = Trim(InputBox("Enter descriptive text:"))
       
       ' 添加新记录,将徽标复制到大块中。
       rstPubInfo.AddNew
       rstPubInfo!pub_id = strPubID
       rstPubInfo!pr_info = strPRInfo   lngOffset = 0 ' 重置位移。
       Do While lngOffset < lngLogoSize
          varChunk = LeftB(RightB(varLogo, lngLogoSize - lngOffset), _
             conChunkSize)
          rstPubInfo!logo.AppendChunk varChunk
          lngOffset = lngOffset + conChunkSize
       Loop
       rstPubInfo.Update
       
        ' 显示新添加的数据。
       MsgBox "New record: " & rstPubInfo!pub_id & vbCr & _
          "Description: " & rstPubInfo!pr_info & vbCr & _
          "Logo size: " & rstPubInfo!logo.ActualSize   ' 删除新记录,因为这只是演示。
       rstPubInfo.Requery
       cnn1.Execute "DELETE FROM pub_info " & _
          "WHERE pub_id = '" & strPubID & "'"   rstPubInfo.Close
       cnn1.Close   End Sub
      

  16.   

    同意用一个ole型的字段就可以了,另“晴朗”兄的方法是最好的,图像只存在
    一个相应的目录中,在数据库中存储路径即可。