关于SqlServer2000 Image字段存储时应注意的问题

昨天在做图片往数据库里插入的时候发现了一个问题,我是用的
            sqlcomm.CommandText = "insert into photo(photo) values(@photo)";
            sqlcomm.Parameters.Add("@photo", SqlDbType.Image,16,"photo");
            sqlcomm.Parameters["@photo"].Value = imgData;
其中imgData是转换好的图片数组
这段程序运行是 没有问题,但是我读出数据来的时候就错了
            string sql = "select photo from photo where id="+this.textBox1.Text;
            this.sqlcomm.CommandText = sql;
            this.sqlconn.Open();
            byte[] data = (byte[])this.sqlcomm.ExecuteScalar();
            this.sqlconn.Close();
data的长度竟然是16!
因为长度不对,所以转换也就失败了!
我想长度是16肯定和数据库字段有关系,把添加参数写成
            sqlcomm.Parameters.Add("@photo", SqlDbType.Image);
这样就没问题了!

原文地址:https://www.cnblogs.com/interboy/p/585021.html