日期:2014-05-18  浏览次数:20445 次

关于sql server image 字段值的问题,请各位帮帮忙,急.
我现在向数据写了一个  

byte[]   temp   =   new   byte[0];
把temp当值写到了image   字段,   0x
但当我想读到时却郁闷了.

if(dr[ "XX "]==temp)
        Response.Write( "False ");

为什么我这样无法判断呢?

用   (byte)dr[ "XX "]   也是不行

Why?

请各位帮帮忙。。。急死我了


------解决方案--------------------
mark
------解决方案--------------------
byte[] b = System.Text.Encoding.UTF8.GetBytes( "temp ");

插入数据库

读取

(byte[])dr[ "xx "];
------解决方案--------------------
是的,你这样读取是错误的,需要使用 dr.GetBytes() 方法,
比较合理的读取方式是

int myImageFieldIndex = -1;
// ...
byte[] b = new byte[(dr.GetBytes(yImageFieldIndex, 0, null, 0, int.MaxValue))]; // 读取实际长度
dr.GetBytes(yImageFieldIndex , 0, b, 0, b.Length); // 读取数据


其他注意细节,以及性能问题,请参考:
如何读取和写入文件或从 BLOB 列通过使用 ADO.NET 和 VisualC # .NET http://www.cnblogs.com/Jinglecat/archive/2006/09/12/502467.html

Hope Helpful!