如题,求C#中操作oracle数据库中clob类型数据的相关代码,第一次接触,一点也不会啊,不知道如何写,给点参考代码,谢了
解决方案 »
- C#如何通过反射创建内部类对象
- 怎样给二维数组的一整行来赋值呢?
- C# 怎样一段时间内用户没有响应便自动操作
- 问一个TCPClient的问题
- TEXTBOX更新问题,我先赋值了一次然后再修改为什么获取得值还是之前个?大侠帮忙吖!!
- 怎样把DataView1.RowFilter转换成SQL语句
- 请问下 怎么在.net 2005 的 form窗体中 嵌入一个flash?
- MDI 窗口 怎样处理工具条和子窗口的调用关系? 征求好的解决办法
- 一个面试题,请教高手:一个警报系统响了,小偷被吓跑了,车主被吓醒了,请写个程序出来(警报系统要有拓展性)
- 急!!!!C#怎样打开关闭CDROM?
- 谁给我一个C#加密解密的算法
- 大家目前有哪些比较好一点的SOKCET架构呢
Bitmap bmp = new Bitmap(file_name);
FileInfo fi = new FileInfo(file_name); int w = bmp.Width;//宽
int h = bmp.Height;//高
long s = fi.Length;
string conn_str = "Provider=OraOLEDB.Oracle.1;Password=123;Persist Security Info=True;User ID=123;Data Source=123;Extended Properties=";
OleDbConnection cn = new OleDbConnection(conn_str);
cn.Open();
OleDbCommand cmd;
cmd = new OleDbCommand("insert into Table_1(fphoto) values(:FPHOTO1)", cn);
cmd.Parameters.Add("FPHOTO", OleDbType.Binary);
FileStream fs = new FileStream(file_name, FileMode.OpenOrCreate, FileAccess.Read);
byte[] MyData = new byte[fs.Length];
fs.Read(MyData, 0, System.Convert.ToInt32(fs.Length));
fs.Close();
cmd.Parameters["FPHOTO"].Value = MyData; int result = cmd.ExecuteNonQuery();
if (result > 0)
{
MessageBox.Show("图片上传成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
MessageBox.Show("图片上传失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
cmd.Dispose();
cn.Close();这是上传图片的 希望对楼主 有帮助
byte[] img = ***;//byte数据
using (OracleCommand cmd = (OracleCommand)(session.Connection.CreateCommand()))
{
cmd.CommandText = sql;
cmd.Parameters.Add(":IMAGE", OracleType.Blob, img.Length).Value = img; cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
}插入是类似这样吧,sql是随手写的,不知道有没错
查的跟普通查询没什么区别
OracleCommand cmd = new OracleCommand();
cmd.Connection = con;
cmd.CommandType = CommandType.StoredProcedure;
cmd.InitialLOBFetchSize = 65536;
cmd.CommandText = "PUBLISHINFO";
cmd.Parameters.Add("IROWID", OracleDbType.Varchar2).Value = infoRowid;
cmd.Parameters.Add("PUser", OracleDbType.Varchar2).Value = UserManager.me.UserName;
cmd.Parameters.Add(":DId", OracleDbType.Varchar2).Value = DeptId;
cmd.Parameters.Add("IType", OracleDbType.Varchar2).Value = infoType;
cmd.Parameters.Add("ITitle", OracleDbType.Varchar2).Value = infoTitle;
OracleClob icontent = new OracleClob(con);
icontent.Append(infoContent.ToCharArray(), 0, infoContent.Length);
cmd.Parameters.Add("IContent", OracleDbType.Clob).Value = icontent;
cmd.Parameters.Add("Files", OracleDbType.Varchar2).Value = files;
OracleParameter fileRowIDParameter = cmd.Parameters.Add("RID", OracleDbType.Varchar2, 256);
fileRowIDParameter.Direction = ParameterDirection.Output;
cmd.ExecuteNonQuery();
icontent.Close();读
FileStream saveFile = new FileStream(fileName, FileMode.Create, FileAccess.Write, FileShare.Write, 65536);
OracleTransaction tx = con.BeginTransaction();
OracleCommand cmd = new OracleCommand();
cmd.Connection = con;
cmd.InitialLOBFetchSize = 65536;
cmd.CommandText = "SELECT FileBinary FROM InfoFile WHERE ROWID='" + rowid + "' FOR UPDATE";
OracleDataReader dr = cmd.ExecuteReader();
byte[] buffer = new byte[fileLength];
//int readLength = 0;
if (dr.Read())
{
OracleBlob ob = dr.GetOracleBlob(0);
ob.Read(buffer, 0,fileLength);
ob.Flush();
//readLength = (int)dr.GetBytes(0, 0, buffer, 0, fileLength);
if (ob.Length > 0)
saveFile.Write(buffer, 0, fileLength);
ob.Close();
}
dr.Close();
tx.Commit();
saveFile.Close();