怎样在 UPDATE语言中改变Blob字段的数据?
解决方案 »
- 请问如何实现我这种进销存的业务
- 论:为什么delphi不能走开源之路???
- 如何实现软件下栽,用短信收费?有没有挂靠在别的SP下的方法?
- 出现加载类型库DLL出错的问题。
- 路过的大虾帮我看看串口的问题~!!
- 找ACM控件的这里留mail,另请提供者Corn1进来接分
- 简单问题,先来先抢分。怎么改变MEMO的一行的字符串?
- 用MasterField关联了两个表后,为什么不能修改其中的数据?
- 请问在线程中执行一个非常占用资源的操作,为什么还会影响到主线程操作?
- 如何在系统启动同时自动实现拨号上网?急!!!!!!!请各位大虾指教!!!
- 权限管理中,用actionlist控制按钮的显示,很方便;但是能不能控制PageControl中的TabSheet的显示呢?谢谢大家!
- 找DELPHI数据库熟手做小项目
begin
ADOQuery1.Close;
ADOQuery1.SQL.Text:='insert into test1 values(:IMAGE)';
ADOQuery1.Parameters[1].LoadFromFile('d:\temp\025.jpg',ftBlob);
ADOQuery1.ExecSQL;
end;
DBMS_LOB.CREATETEMPORARY 系统存储过程并绑定 LOB 输出参数打开 Oracle 中的临时 LOB。在客户端,临时 LOB 的行为很像基于表的 LOB。例如,要更新临时 LOB,它必须包含在事务中
下面的 C# 示例阐释如何打开一个临时 LOB。
OracleConnection conn = new OracleConnection("server=MyServer; integrated security=yes;");
conn.Open();
OracleTransaction tx = conn.BeginTransaction();
OracleCommand cmd = conn.CreateCommand();
cmd.Transaction = tx;
cmd.CommandText = "declare xx blob; begin dbms_lob.createtemporary(xx, false, 0); :tempblob := xx; end;";
cmd.Parameters.Add(new OracleParameter("tempblob", OracleType.Blob)).Direction = ParameterDirection.Output;
cmd.ExecuteNonQuery();
OracleLob tempLob = (OracleLob)cmd.Parameters[0].Value;
tempLob.BeginBatch(OracleLobOpenMode.ReadWrite);
tempLob.Write(tempbuff,0,tempbuff.Length);
tempLob.EndBatch();
cmd.Parameters.Clear();
cmd.CommandText = "myTable.myProc";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add(new OracleParameter("ImportDoc", OracleType.Blob)).Value = tempLob;
cmd.ExecuteNonQuery();
tx.Commit();