怎么把byte存进数据库
发布网友
发布时间:2023-04-22 07:17
我来回答
共1个回答
热心网友
时间:2023-10-11 11:29
1.C#怎么将byte[]存入到数据库呀
1. 写入数据库
[c-sharp] view plaincopyprint?
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;
}
2.将实际位置中的照片转化为byte[]类型写入数据库中;
[c-sharp] view plaincopyprint?
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;
}
3. 读取byte[]并转化为图片。
[c-sharp] view plaincopyprint?
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;
}
2.如何将byte存入ORACLE数据库
读取——
oraclelob clob = oraclelob.null;
string sql_state = 你的select语句
oraclemand mand = new oraclemand(sql_state, 你的连接);
oracledatareader reader = mand.executereader();
where (reader.read())
{
byte[] buffer = (byte[])reader[你的字段];
}
存入——
byte[] buffer = 你的byte[];
string sql_state = 你的insert语句
oraclemand cmd = new oraclemand(strupdate, 你的连接);
cmd.parameters.add("xml", oracletype.blob);
cmd.parameters[0].value = buffer;
cmd.executenonquery();
3.如何把一个字节数组存到数据库里,然后再读出来
保存字节数组到数据库分两知步:
第一、利用FileInputStream.read(byte[])方法把内容读取到byte[]数组道中,比如图片是由二进制数组成的,就可以定义为一个字版节数组。
第二、在数据库中对应记录字段应该设置为blob类型,这样就能够顺利保存了
事例代码如下:
PreparedStatement stmt = connection.generatePreparedStatement("INSERT INTO 。 ");
stmt.setBytes(1, yourByteArray);
其中,权yourByteArray是你读出来的字符数组。
4.如何将byte类型的值通过action存入数据库
我给个意见仅供参考:
数据库中的字段是varchar2类型的,对应java中的String类型。
String类型有个带参的构造方法,即
String str = new String(Byte byte, String str);
例如String user = new String(byteUser, "GBK");
把byte类型的用户转以GBK编码方式存入String类型的字符串中。
如上