使用EnterpriseLibrary插入Oracle CLOB数据
郁闷了很久,始终无法插入Oracle CLOB数据。网上搜索到的文章,多半是过时的方式,复杂容易出错。
偶然看到 Microsoft.Practices.EnterpriseLibrary.Data.Oracle 心中窃喜,EnterpriseLibrary想的挺周到,实现了Oracle的操作方式。继续寻找,看到了下面一个方法
下面是实现的代码
偶然看到 Microsoft.Practices.EnterpriseLibrary.Data.Oracle 心中窃喜,EnterpriseLibrary想的挺周到,实现了Oracle的操作方式。继续寻找,看到了下面一个方法
AddParameter(OracleCommand command, string name, OracleType oracleType, int size, ParameterDirection direction, bool nullable, byte precision, byte scale, string sourceColumn, DataRowVersion sourceVersion, object value);
一看,有OracleType,这下好了,可以用OracleType.Clob了。下面是实现的代码
//连接数据库
OracleDatabase db = (OracleDatabase)DatabaseFactory.CreateDatabase(Constant.DBNAME);
//插入信息的SQL。content的类型是CLOB
string insertSql = "INSERT INTO article(content) VALUES (:content)";
//获得DbCommand对象
OracleCommand dbCommand = (OracleCommand)db.GetSqlStringCommand(insertSql);
//为SQL中的变量赋值
db.AddParameter(dbCommand, "content", OracleType.Clob, strContent.Length, ParameterDirection.Input, false, 0, 0, "", DataRowVersion.Default, strContent); /*内容*/
//执行操作
int affectRows = db.ExecuteNonQuery(dbCommand);
OracleDatabase db = (OracleDatabase)DatabaseFactory.CreateDatabase(Constant.DBNAME);
//插入信息的SQL。content的类型是CLOB
string insertSql = "INSERT INTO article(content) VALUES (:content)";
//获得DbCommand对象
OracleCommand dbCommand = (OracleCommand)db.GetSqlStringCommand(insertSql);
//为SQL中的变量赋值
db.AddParameter(dbCommand, "content", OracleType.Clob, strContent.Length, ParameterDirection.Input, false, 0, 0, "", DataRowVersion.Default, strContent); /*内容*/
//执行操作
int affectRows = db.ExecuteNonQuery(dbCommand);
posted on 2008-01-13 16:01 amber lee zhao 阅读(537) 评论(0) 编辑 收藏 举报