我将照片放在服务器的文件夹里,在数据库里存放了路径,且数据库里有存放的信息了,但确读不出来,请帮忙指点下,问题是什么“
VB codeDim iConcstr As String
Dim iConc As ADODB.Connection'保存文件到数据库中
Sub s_SaveFile()
  
  Dim iRe As ADODB.Recordset
  Dim iConcstr As String  '打开保存文件的表
  Set iRe = New ADODB.Recordset
  With iRe
  .Open "select * from imge", iConc, 1, 3
  .AddNew '新增一条记录
  .Fields("photo") = "wenjinmin"
  .Update
  End With
    
    
  '完成后关闭对象
  iRe.Close
  
  Image1.Picture = LoadPicture()   '清空
End SubSub s_ReadFile()  Dim iRe As ADODB.Recordset
  '打开表
  Set iRe = New ADODB.Recordset
'得到最新添加的纪录
  iRe.Open "select * from imge ", iConc, adOpenKeyset, adLockReadOnly
  If iRe.EOF Then   '指针指向最后一条记录
    iRe.MoveFirst
  End If  Image1.Picture = LoadPicture(iRe.Fields("photo").Value)  '这里有问题说“类型不匹配 13”
  '关闭对象
  iRe.Close
  End SubPrivate Sub Command1_Click()    ‘读取图片到image
   Call s_ReadFile
End SubPrivate Sub Command2_Click()    ’保存文件路径打数据库imge表的“PHOTO”列
   Call s_SaveFile
End SubPrivate Sub Command3_Click()      ‘打开文件夹,选择图片到image
   
    CommonDialog1.Filter = "图片文件(*.jpg)|*.jpg|所有文件(*.*)|*.*"
    CommonDialog1.ShowOpen                                               '显示打开文件对话框
    wenjinmin = CommonDialog1.FileName     '取得整个文件的存放路径
   
    Image1.Picture = LoadPicture(wenjinmin)End Sub
Private Sub Form_Load()
  
  
'下面的语句是连接sqlserver数据库的.
  iConcstr = "rovider=SQLOLEDB.1ersist Security Info=True;" & _
  "User ID=saassword=sa;Initial Catalog=db_hsjs;Data Source=127.0.0.1"
  
  Set iConc = New ADODB.Connection
  iConc.Open iConcstrEnd SubPrivate Sub Form_Unload(Cancel As Integer)
     iConc.Close
     Set iConc = Nothing
End Sub

解决方案 »

  1.   

    iRe.Fields("photo").Value这里下断点看一下具体的值不就知道了一般从数据库里读出来的内容需要去空格trim(iRe.Fields("photo").Value)还有如果取到的内容是空或者Null,你都需要判断下
      

  2.   

    iRe.Fields("photo").Value
    iRe.Fields("photo") 即可数据库保存图片很多人都是用二进制方式保存, 但我皆以路径保存,楼主与我的做法是相同的楼主可能将Photo这个字段的格式设为二进制了吧?是的话 改为 String 即可
      

  3.   

    估计是字段Null,看他这代码里用的是'wenjinmin',应该是报错:
    文件未找到: 'wenjinmin'
      

  4.   

    这将这字段设置为“varchar”了,感觉这设置应该没有问题
      

  5.   


    文件名 = wenjianming <> (wenjinmin = 文近民)
      

  6.   

    Dim iConcstr As String
    Dim iConc As ADODB.Connectiondim wenjinmin as string'保存文件到数据库中
    Sub s_SaveFile()
       
      Dim iRe As ADODB.Recordset
      Dim iConcstr As String  '打开保存文件的表
      Set iRe = New ADODB.Recordset
      With iRe
      .Open "select * from imge", iConc, 1, 3
      .AddNew '新增一条记录
      .Fields("photo") = wenjinmin
      .Update
      End With
        
        
      '完成后关闭对象
      iRe.Close
       
      Image1.Picture = LoadPicture() '清空
    End SubSub s_ReadFile()  Dim iRe As ADODB.Recordset
      '打开表
      Set iRe = New ADODB.Recordset
    '得到最新添加的纪录
      iRe.Open "select * from imge ", iConc, adOpenKeyset, adLockReadOnly
      If iRe.EOF Then '指针指向最后一条记录
      iRe.MoveFirst
      End If  Image1.Picture = LoadPicture(iRe.Fields("photo").Value) '这里有问题说“类型不匹配 13”
      '关闭对象
      iRe.Close
      End SubPrivate Sub Command1_Click() ‘读取图片到image
      Call s_ReadFile
    End SubPrivate Sub Command2_Click() ’保存文件路径打数据库imge表的“PHOTO”列
      Call s_SaveFile
    End SubPrivate Sub Command3_Click() ‘打开文件夹,选择图片到image
        
      CommonDialog1.Filter = "图片文件(*.jpg)|*.jpg|所有文件(*.*)|*.*"
      CommonDialog1.ShowOpen '显示打开文件对话框
      wenjinmin = CommonDialog1.FileName '取得整个文件的存放路径
        
      Image1.Picture = LoadPicture(wenjinmin)End Sub
    Private Sub Form_Load()
       
       
    '下面的语句是连接sqlserver数据库的.
      iConcstr = "rovider=SQLOLEDB.1ersist Security Info=True;" & _
      "User ID=saassword=sa;Initial Catalog=db_hsjs;Data Source=127.0.0.1"
       
      Set iConc = New ADODB.Connection
      iConc.Open iConcstrEnd SubPrivate Sub Form_Unload(Cancel As Integer)
      iConc.Close
      Set iConc = Nothing
    End Sub