OraHelper DB=new OraHelper();
System.Data.OracleClient.OracleConnection Con=(System.Data.OracleClient.OracleConnection)DB.OpenDb();
//Con.Open();
System.Data.OracleClient.OracleCommand Cmd=new OracleCommand(Sql,Con);
System.Data.OracleClient.OracleDataAdapter DA=new OracleDataAdapter(Cmd);
DA.InsertCommand=new OracleCommand(InsertSql,Con);
System.Data.OracleClient.OracleParameter Temp=new OracleParameter("TempContent",OracleType.Clob);
Temp.Value=Content;
DA.InsertCommand.Parameters.Add(Temp);
DA.InsertCommand.ExecuteNonQuery();
Con.Close();下面是我调用的那个Sql:
Sql="insert into "+TableName+"(ID,BBSID,Subject,UserID,UpTime,AnswerCount,ReadCount,LastUserID,LastUserTime,ContentType,ISShow,Pic,Top,Content) values("+ID+","+BBSID+",'"+Subject+"','"+LoginName+"','"+UpTime+"',0,0,'"+LastUser+"','"+LastUserTime+"',0,0,"+Pic+",0,:TempContent)";
//DB.Execute(Sql);
//插入正文
this.InsertContent(Sql,"select ID from "+TableName,Content); 老是抱:ORA-01861: 文字与格式字符串不匹配
System.Data.OracleClient.OracleConnection Con=(System.Data.OracleClient.OracleConnection)DB.OpenDb();
//Con.Open();
System.Data.OracleClient.OracleCommand Cmd=new OracleCommand(Sql,Con);
System.Data.OracleClient.OracleDataAdapter DA=new OracleDataAdapter(Cmd);
DA.InsertCommand=new OracleCommand(InsertSql,Con);
System.Data.OracleClient.OracleParameter Temp=new OracleParameter("TempContent",OracleType.Clob);
Temp.Value=Content;
DA.InsertCommand.Parameters.Add(Temp);
DA.InsertCommand.ExecuteNonQuery();
Con.Close();下面是我调用的那个Sql:
Sql="insert into "+TableName+"(ID,BBSID,Subject,UserID,UpTime,AnswerCount,ReadCount,LastUserID,LastUserTime,ContentType,ISShow,Pic,Top,Content) values("+ID+","+BBSID+",'"+Subject+"','"+LoginName+"','"+UpTime+"',0,0,'"+LastUser+"','"+LastUserTime+"',0,0,"+Pic+",0,:TempContent)";
//DB.Execute(Sql);
//插入正文
this.InsertContent(Sql,"select ID from "+TableName,Content); 老是抱:ORA-01861: 文字与格式字符串不匹配
System.Data.OracleClient.OracleConnection Con=(System.Data.OracleClient.OracleConnection)DB.OpenDb(); System.Data.OracleClient.OracleCommand Cmd=Con.CreateCommand();
Cmd.CommandText=InsertSql;
System.Data.OracleClient.OracleParameter Temp=new OracleParameter("TempContent",OracleType.Clob);
Temp.Value=Content;
Cmd.Parameters.Add(Temp);
Cmd.ExecuteNonQuery();
Con.Close();
然后用update
OraHelper DB=new OraHelper();
System.Data.OracleClient.OracleConnection Con=(System.Data.OracleClient.OracleConnection)DB.OpenDb(); System.Data.OracleClient.OracleCommand Cmd=Con.CreateCommand();
Cmd.CommandText=InsertSql;
System.Data.OracleClient.OracleParameter Temp=new OracleParameter("TempContent",OracleType.Clob);
Temp.Value=Content;
Cmd.Parameters.Add(Temp);
Cmd.ExecuteNonQuery();
Con.Close();
用上面的语句执行,程序没包错,但是值还是没有插入进去
{
try
{
OraHelper DB=new OraHelper();
System.Data.OracleClient.OracleConnection Con=(System.Data.OracleClient.OracleConnection)DB.OpenDb();
System.Data.OracleClient.OracleCommand Cmd=new OracleCommand(InsertSql,Con);
System.Data.OracleClient.OracleParameter Temp=new OracleParameter("TempContent",OracleType.Clob);
Temp.Direction=ParameterDirection.Input;
Temp.Value=Content;
Cmd.Parameters.Add(Temp);
Cmd.ExecuteNonQuery();
}
catch(Exception E)
{
throw new Exception("插入正文出错:"+E.Message);
}
finally
{
Con.Close();
}
}上面代码测试通过,调用方式为:
Content为clob类型:
InsertContent("insert into tableClob(id,Content) values(1,:TempContent)",BigContent)