c_tdCompanySetup.Table.Rows[c_bsDataSetSource.Position]["Logo"] =  DBNull.Value;
我是这样写的,但是保存到数据库的总是:0x53797374656D2E427974655B5D
导致打开时总报错:参数无效
picLogo.Image = Image.FromStream(new MemoryStream((byte[])c_tdCompanySetup.Table.Rows[0]["Logo"]));
这是显示图片,好像就再MemoryStream出错的 应该怎样c_tdCompanySetup.Table.Rows[c_bsDataSetSource.Position]["Logo"]给他保存空?
或者怎样判断c_tdCompanySetup.Table.Rows[c_bsDataSetSource.Position]["Logo"]的值等于0x53797374656D2E427974655B5D也行?

解决方案 »

  1.   

    public byte[] Logo
            {
                get { return c_byteLogo; }
                set { c_byteLogo = value; }
            }
    实体还有保存方法:
    public int SaveImage()
            {
                string l_stringUpt = "UPDATE CompanySetup SET Logo = @ImageData";
                SqlCommand l_sqlCmdUpt = new SqlCommand(l_stringUpt);
                l_sqlCmdUpt.Parameters.Add(new SqlParameter("ImageData", c_byteLogo));
                int l_intUptedRows = c_dbccDbConnection.SqlNonQuery(l_sqlCmdUpt);
                return l_intUptedRows;
            }
      

  2.   

    沒人囘,自己解決了,SQL語句問題:UPDATE CompanySetup SET Logo = NULL就可以了。