关于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!