错误使用了该行代码:
paramList.Add( new OracleParameter( " : " + field, val));
猜想可能是由于这行代码的问题导致,因此修改参数化的Oracle参数变量代码为另外一个种指定对象类型的方式:
OracleParameter a
=
new
OracleParameter(
"
:
"
+
field, OracleType.Clob, val.ToString().Length);
a.Value = val;
paramList.Add(a);
a.Value = val;
paramList.Add(a);
验 证通过,发现再长的内容,写入也是正常的,不会出错和出现的截断乱码。由于第一种忽略了Oracle参数类型,就是为了适应各种类型对象的参数化构造,实 现统一添加参数化内容的,由于超长的字符内容会出现问题,因此只好修改基类操作的添加参数代码,添加一个条件分支作为处理。调整后的插入代码如下(更新代 码类似操作):