数据库byte
1. c# 怎么把byte[]存入数据库,byte[]可以为null
判断下就好了,如果为null,就不插入该字段,但数据库要把该字段设为允许NULL。
2. C#怎么将byte[]存入到数据库呀
第一种:可以直接进行写入,代码如下:
[c-sharp] view plainprint?
public static byte[] GetBytesByImage(PictureBox pb)
{
byte[] photo_byte= null;
if (!pb.Image.Equals(null))
{
using (MemoryStream ms = new MemoryStream())
{
Bitmap bmp = new Bitmap(pb.Image);
bmp.Save(ms,System.Drawing.Imaging.ImageFormat.Jpeg);
photo_byte = new byte[ms.Length];
ms.Position = 0;
ms.Read(photo_byte, 0, Convert.ToInt32(ms.Length));
bmp.Dispose();
}
}
return photo_byte;
}
第二种:首先将照片转化为byte[]类型,然后在写入数据,代码如下;
[c-sharp] view plainprint?
public static byte[] GetBytesByImagePath(string strFile)
{
byte[] photo_byte = null;
using (FileStream fs = new FileStream(strFile, FileMode.Open, FileAccess.Read))
{
using (BinaryReader br = new BinaryReader(fs))
{
photo_byte = br.ReadBytes((int)fs.Length);
}
}
return photo_byte;
}
第三种:直接读取byte[]并转化为图片;
[c-sharp] view plainprint?
public static Image GetImageByBytes(byte[] bytes)
{
Image photo = null;
using (MemoryStream ms = new MemoryStream(bytes))
{
ms.Write(bytes, 0, bytes.Length);
photo = Image.FromStream(ms, true);
}
return photo;
}
3. byte在数据库中占几个字节
如果在英文状态下的输入的只有一个字节,中文状态下就是2个,在sql里面只要语法没错的话就是一个 一个1个跟英文数字一样 1 byte. MSSQL
4. 数据库查出byte 型数据怎么显示
#region 页面上显示图片
/// <summary>
/// 页面上显示图片
/// </summary>
/// <param name="NewsID">新闻编号</param>
/// <param name="Page">显示图片的页</param>
/// <param name="DL"></param>
public static void ShowImg(string TableName,string aKeyName,string aFID, System.Web.UI.Page Page,string Colunm)
{
DataAccess da = DataAccessFactory.CreateDataAccessInstance(UEMSConfig.Func_GetDBConnectionStr());
try
{
da.OpenReader();
using (System.Data.Common.DbDataReader dr = da.ExecuteReader("select " + Colunm + " from " + TableName + " where " + aKeyName + "='" + aFID.Trim() + "'"))
{
while (dr.Read())
{
Page.Response.BinaryWrite((byte[])dr["" + Colunm + ""]);//关键是这一句,呵呵
}
dr.Close();
}
}
catch (Exception ex)
{
}
finally
{
}
}
#endregion
5. oracle数据库,char与BYTE的问题
byte
=
unsigned
char
在文本方式传输中没有区别,但二进制数据最好使用byte,以防“负数以1补位”,造成数据处理过程中的错误变换。