“数据库使用文本字段。存储了图像相对路径。用VB代码来控制图像的调用,以及图像显示的方式。此外,如果把图像文件转移到另外的计算机,存储的图像文件都不在同一个文件夹,在文本字段运行一个更新查询把指针指向新的位置。”
懂得发个代码看看。谢谢!!!!

解决方案 »

  1.   

    1、在DB中存储图像文件的相对路径,如 1.jpg
    2、可以把图像文件夹的路径存放在配置表或者配置文件中,运行时跟图像文件相对路径组合。如 c:\Image\ + 1.jpg
      

  2.   

    picture1.picture=loadpicture(c:\Image\ + 1.jpg)
      

  3.   

    存放再你程序的目录里好了 用 APP.PATH 
      

  4.   

    把图像文件夹的绝对路径存放到配置文件(ini或者其他什么文件都可以,看你自己的习惯);
    或者放到数据库里去,你可以建一张配置表,用来存放路径,推荐这种方式,不需要依赖配置文件。
      

  5.   

    大家帮忙看看哪里错了..
    信息表:车辆牌号 车辆大图
              1    20080704142544_00000002_0.jpg
    配置表:路径编号 图片路径 
              1       c:\
    出错提示:未找到bigpic
    代码:
    Dim local_db As String
    Dim picpath As String
    Dim bigpic As String
    Dim mPic1 As StdPicture
    Dim cnn As New ADODB.Connection
    Dim ret As New ADODB.Recordset
    Set cnn = New ADODB.Connection
    Set ret = New ADODB.Recordset
    cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path & "\data\车辆管理(含图片).mdb" + ";Persist Security Info=False;"
    local_db = "select * from 配置表 where 配置表.路径编号=1"
    ret.Open local_db, cnn
    picpath = ret("图片路径")
    ret.Close
    chehao = Trim(Text1.Text) 'chehao 已在模块中定义,text1.text=1
    If Text1.Text = "" Then
    MsgBox "请输入要查询的车辆牌号", , "警告"
    Text1.SetFocus
    Else
    local_db = "select * from 信息表" + _
    " where 信息表.车辆牌号=" + "'" + chehao + "'"
    ret.Open local_db, cnn
    End If
    If ret.BOF And ret.EOF Then
    MsgBox "无此车辆牌号,请重新输入"
    Text1.Text = ""
    Text1.SetFocus
    Else
    bigpic = picpath + ret("车辆大图")
    车辆信息.Picture1.AutoRedraw = True  '图片调整
    Set mPic1 = LoadPicture("bigpic")
    车辆信息.Picture1.PaintPicture mPic1, 0, 0, 车辆信息.Picture1.ScaleWidth, 车辆信息.Picture1.ScaleHeight
    Unload 信息查询
    车辆信息.Show
    End If
      

  6.   

    //车辆信息.Picture1.AutoRedraw = True  '图片调整 
    //Set mPic1 = LoadPicture("bigpic") 
    //车辆信息.Picture1.PaintPicture mPic1, 0, 0, 车辆信息.Picture1.ScaleWidth, 车辆信息.Picture1.ScaleHeight Set 车辆信息.Picture1.Picture = LoadPicture(bigpic)