C# 读取和写入oracle的blob字段的方法

王朝学院·作者佚名  2009-11-07  
宽屏版  字体: |||超大  

//向数据库中写入

private void button1_Click(object sender, EventArgs e)

{

oracleConnection1.Open();

OracleCommand cmd = new OracleCommand("UPDATE TEST SET F2 =:blob where F1=:sn ", oracleConnection1);

cmd.Parameters.Add(new OracleParameter("blob",OracleType.Blob));

cmd.Parameters.Add(new OracleParameter("sn",OracleType.Int32));

FileInfo fi = new FileInfo("c:\\dos.doc");

FileStream fs = fi.OpenRead();

byte[] MyData = new byte[fs.Length];

fs.Read(MyData, 0, System.Convert.ToInt32(fs.Length));

fs.Close();

cmd.Parameters["blob"].Value = MyData;

cmd.Parameters["sn"].Value = 1;

try

{

int result = cmd.ExecuteNonQuery();

if (result < 1)

{

System.Console.WriteLine("插入数据错误!");

}

else

System.Console.WriteLine("插入数据成功!");

}

catch (Exception e1)

{

System.Console.WriteLine("插入数据错误!"+e1.ToString());

}

finally

{

oracleConnection1.Close();

}

}

//从数据库中读取

private void button2_Click(object sender, EventArgs e)

{

oracleConnection1.Open();

oracleCommand1.CommandText = "select * from TEST where f1=1";

OracleDataReader rs = oracleCommand1.ExecuteReader();

while (rs.Read())//读取数据,如果odr.Read()返回为false的话,就说明到记录集的尾部了

{

byte[] File=(byte[])rs["F2"];

FileInfo fi=new FileInfo("c:\\new.doc");

FileStream fs=fi.OpenWrite();

fs.Write(File,0,File.Length);

fs.Flush();

fs.Close();

}

rs.Close();

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有