byte []tmp=Encoding.Default.GetBytes(sqlstring);

sql+="insert into queryset (queryid,zdysqls) values ('"+reportidstring+"','"+tmp+"')\r\n";
这个保存的 是不是tmp的首地址呢?从Encoding.Default.GetString( bytearray, 0, bytearray.Length )从数据库中读出来这个过程是没有问题的,因为以前数据库中存在的image类型能正确的转化成string.现在通过上面的保存方式后读出来转化成string,放在textbox中是System.Byte[],我想一定是保存错误,请高手指点下呢,应该怎样保存呢(谢谢)

解决方案 »

  1.   

    insert出错了 byte数组合字符串相加相当于:"a" + byte[].ToString() + "b"
    因为byte[].ToString() = "System.Byte[]"
    所以你取出来就是System.Byte[]同样的道理 既然你的"System.Byte[]"可以直接存储到Image类型的字段中 那么你大可不用把string转换为byte[]存储 你直接存储试试 取出方法不变
      

  2.   

    1。不用这么做。
    2。取出来将char[]转换成string就可以了。