源代码:
/// <summary>
/// 执行sql语句
/// </summary>
/// <param name="zllb">扫描表字典编号</param>
/// <param name="slbh">受理编号</param>
/// <param name="strByte">图片文件字符串文件</param>
private int ExecuteSQL(string zllbmc,string zllb, string slbh, byte[] tempByte)
{
StringBuilder strSql = new StringBuilder(); //创建sql语句
strSql.Append("delete slb_smzl ");
strSql.Append(" where ZLLB = '" + zllb + "' ");
strSql.Append(" and SLBH = '" + slbh + "' and zllbmc='"+zllbmc+"'");
DBhelper.ExecuteNonQuery(strSql.ToString()); //删除数据库中旧的记录
strSql.Remove(0, strSql.Length);
strSql.Append("insert into slb_smzl(ZLLB,SMJ,SLBH,ZLLBMC) ");
strSql.Append("values (:ZLLB,:SMJ,:SLBH,:ZLLBMC)");
OracleParameter[] param ={
new OracleParameter(":ZLLB",zllb),
new OracleParameter(":SMJ",OracleType.Blob,tempByte.Length),
new OracleParameter(":SLBH",slbh),
new OracleParameter(":ZLLBMC",zllbmc)
};
param[1].Value = tempByte;
int retVal;
try
{
retVal = DBhelper.ExecuteNonQuery(strSql.ToString(), param);
}
catch (Exception ex)
{
retVal = 0;
}
return retVal; //添加新的数据到数据库
}
报的异常是: ORA-01461: 仅可以为插入 LONG 列的 LONG 值赋我主要实现的是扫描资料,然后保存到oracle数据库里面,其中ExecuteSQL方法是在web service里面,这个异常很奇怪,有时出现有时又可以保存,
我用的oracle是10g的版本, 希望大家帮帮忙解决一下,!!! 谢谢大家了!
/// <summary>
/// 执行sql语句
/// </summary>
/// <param name="zllb">扫描表字典编号</param>
/// <param name="slbh">受理编号</param>
/// <param name="strByte">图片文件字符串文件</param>
private int ExecuteSQL(string zllbmc,string zllb, string slbh, byte[] tempByte)
{
StringBuilder strSql = new StringBuilder(); //创建sql语句
strSql.Append("delete slb_smzl ");
strSql.Append(" where ZLLB = '" + zllb + "' ");
strSql.Append(" and SLBH = '" + slbh + "' and zllbmc='"+zllbmc+"'");
DBhelper.ExecuteNonQuery(strSql.ToString()); //删除数据库中旧的记录
strSql.Remove(0, strSql.Length);
strSql.Append("insert into slb_smzl(ZLLB,SMJ,SLBH,ZLLBMC) ");
strSql.Append("values (:ZLLB,:SMJ,:SLBH,:ZLLBMC)");
OracleParameter[] param ={
new OracleParameter(":ZLLB",zllb),
new OracleParameter(":SMJ",OracleType.Blob,tempByte.Length),
new OracleParameter(":SLBH",slbh),
new OracleParameter(":ZLLBMC",zllbmc)
};
param[1].Value = tempByte;
int retVal;
try
{
retVal = DBhelper.ExecuteNonQuery(strSql.ToString(), param);
}
catch (Exception ex)
{
retVal = 0;
}
return retVal; //添加新的数据到数据库
}
报的异常是: ORA-01461: 仅可以为插入 LONG 列的 LONG 值赋我主要实现的是扫描资料,然后保存到oracle数据库里面,其中ExecuteSQL方法是在web service里面,这个异常很奇怪,有时出现有时又可以保存,
我用的oracle是10g的版本, 希望大家帮帮忙解决一下,!!! 谢谢大家了!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货