C#如何向sql server中存取图象?

解决方案 »

  1.   

    1/在sqlserver中有image字段啊,那就把你的图像变成bytes写入,读出来在转化成image
    2/在sqlserver中存储图片的路径,用的时候根据路径查找显示图片,这种用的比较多
      

  2.   

    如果是要存储图片的话 用image字段
    图片转化为二进制 字节的形式存储到数据库  通过参数传递 strSql="insert into [image](id,imagedata) values(@ID,@ImageData)"
      

  3.   

    http://www.5inet.net/Database/SQLServer/062348.html
      

  4.   

    可以
    有两种方法
    1 存储图片的路径,然后调用
    2 将图片转换成二进制存储在sql 的 image类型中
      

  5.   

    //把二进制的图片插到数据库
    private void Save(byte[] image)
    {
        string sql = "insert into table2(aaa,photo) values(@aaa,@photo)";
        SqlParameter[] param=new SqlParameter[2];
        param[0] =new SqlParameter("@aaa",SqlDbType.Int);
        param[0].Value = 1;
        param[1]= new SqlParameter("@photo",SqlDbType.Image);
        param[1].Value= image;    SqlConnection conn= new SqlConnection();
        conn.ConnectionString = System.Configuration.ConfigurationSettings.AppSettings[0];    SqlCommand commd= new SqlCommand(sql,conn);
        commd.Parameters.Add(param[0]);
        commd.Parameters.Add(param[1]);    try
        {
            conn.Open();
            commd.ExecuteNonQuery();
            MessageBox.Show("把图片成功的插入数据库");
        }
        catch(Exception ex)
        {
            throw ex;
        }
        finally
        {
            conn.Close();
        }
    }
      

  6.   

    显示图片的代码,把下面的代码随便放到一个aspx页面的pageload事件中     void GetImageSrcFromDB()
             {
                 string strImageID = Request.QueryString["id"];
                 SqlConnection myConnection = new SqlConnection("Data Source=.;Initial Catalog=mxh;User Id=sa;Password=sa;");
                SqlCommand myCommand = new SqlCommand("Select PersonImageType, PersonImage from Person Where PersonID=" 
                     + strImageID, myConnection);
     
                 try
                 {
                    myConnection.Open();
                    SqlDataReader myDataReader;
                    myDataReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection);
                    if(myDataReader.Read())
                    {
                        Response.Clear();                    //Response.ContentType = myDataReader["PersonImageType"].ToString();
                        Response.BinaryWrite((byte[])myDataReader["PersonImage"]);
                    }
                    myConnection.Close();
                }
                catch (SqlException SQLexc)
                {
                    Response.Write(SQLexc.ToString());
                }
                //Response.End();
            }
    显示图片的代码,建立一个新的aspx页面,然后显示图片<asp:Image id="Image1" runat="server" ImageUrl="ReadImage.aspx?id=1"></asp:Image>
      

  7.   

    看来已经解决了,把图片转为二进制存入image字段,接分