如题我知道两种方法,但是不知道具体的怎么实现
1.在sql中保存图片的物理路径
我尝试了这个方法,在数据库中定义了varchar字段,保存了D:\Inetpub\wwwroot\NetShop\Img\home.gif图片
但是不知道怎么将图片显示出来,我是用datalist模板中加了个image,绑定相应的字段,但是没有成功,是哪里的问题啊?2.转化为二进制,保存在image类型下
不是很清楚,望赐教~!

解决方案 »

  1.   

    2.转化为二进制,保存在image类型下 
    不是很清楚,望赐教~! 
    VB CODE  不知道對你是否有用
     
    If DataGrid1.ApproxCount < 1 Then Exit Sub
      If MsgBox("是否接收【" & DataGrid1.Columns(3).Text & "】傳送的『" & DataGrid1.Columns(1).Text & "』嗎?", vbQuestion + vbYesNo) = vbYes Then
         On Error GoTo err_file
         CommonDialog1.CancelError = True
         CommonDialog1.FileName = DataGrid1.Columns(7).Text
         CommonDialog1.ShowSave
         filepath = CommonDialog1.FileName
         Me.MousePointer = 11
         Set cn = New ADODB.Connection
           cn.ConnectionString = ConnectString
           cn.Open
         Set rs = New ADODB.Recordset
           rs.Open "Select * from tb_file where file_id='" & frmfileIncept.Adofile.Recordset.Fields(0).Value & "'", cn, adOpenStatic, adLockOptimistic
         Set mst = New ADODB.Stream
             mst.Type = adTypeBinary
             mst.Open
             mst.Write rs.Fields(6).Value
             mst.SaveToFile filepath, adSaveCreateOverWrite
         rs.Close
         cn.Close
         Me.MousePointer = 0
         MsgBox "下載成功! " & "文件保存在: " & frmfileIncept.filepath, vbInformation, "文件下載"
    err_file:
         If Err.Number = 32755 Then Exit Sub
      End If
      

  2.   

    可以用varchar来保存路径,不过要保存相对路径
      

  3.   

    谢谢lz,我是用c#的,现在比较想知道第一种的解决方法
      

  4.   

    Img\home.gif
    路径写成这样就可以了
      

  5.   

    相对路径是这样吗?
    ../home.gif
      

  6.   

    //存库
    public void imgToDB(string url,string strConn)
    {   
    FileStream fs = File.OpenRead(url);
    byte[] imageb = new byte[fs.Length];
    fs.Read(imageb, 0, imageb.Length);
    fs.Close();
    SqlConnection conn = new SqlConnection(strConn);
    SqlCommand com = new SqlCommand ();
    com.Connection = conn;
    com.Parameters.Add("@images", SqlDbType.Image).Value = imageb;
    com.CommandText = "insert into tphoto(photo) values(@images)";
    if (com.Connection.State == ConnectionState.Closed)
    com.Connection.Open();
    try
    {
    com.ExecuteNonQuery();
    }
    catch
    { }
    finally

    com.Connection.Close(); 
    }
    } //读取方法
    private void ShowImage(string strConn)
    {
    SqlConnection conn = new SqlConnection (strConn);
    SqlCommand cmd = new SqlCommand("select Photo from tPhoto", conn);
    conn.Open();
    byte[] b= (byte[])cmd.ExecuteScalar();
    if (b.Length>0)
    {
    MemoryStream stream = new MemoryStream(b, true);
    stream.Write(b, 0, b.Length);
    pictureBox1.Image = new Bitmap(stream);
    stream.Close();
    }
    conn.Close();
    }
      

  7.   

     
      VB6向SQL  SERVER存入图象:  
      http://support.microsoft.com/default.aspx?scid=kb;EN-US;258038  
        
      VB.NET向SQL  SERVER存入图象:  
      http://support.microsoft.com/default.aspx?scid=kb;EN-US;308042  
        
      C#向SQL  SERVER存入图象:  
      http://support.microsoft.com/default.aspx?scid=kb;EN-US;309158
      

  8.   

    SQL2000图片如何存储及读取
    http://topic.csdn.net/u/20080712/15/18eafcf0-81b4-4906-b3bf-969873fa574e.html