oracle update异常 在线等

luoao9527 2009-03-18 02:59:18
public string OracleSqlExecutionUpdate(string strSql, DataTable dtTemp)
{
string strFlag = null;
OracleConnection Conn = null;
OracleCommand Cmd = null;
OracleDataAdapter da = null;
OracleCommandBuilder bd = null;
try
{
Conn = OracleOpenConection(Conn);
Conn.Open();
Cmd = new OracleCommand(strSql, Conn);
da = new OracleDataAdapter(Cmd);
bd = new OracleCommandBuilder(da);
Cmd.Transaction = Conn.BeginTransaction();
Cmd.Transaction.Commit();
da.Update(dtTemp);
strFlag = Info.DB_FLAG_OK;
}
catch
{
}
}

传入的sql文:SELECT * FROM JUSTEPAPP.SHORTNOTE_MODEMINFO WHERE LEVELS>=1 ORDER BY LEVELS,STATUS,REPLACENUM
传入的dtTemp:是上面SQL文检索得到的数据源,经过需要改动后得到的目的数据源;

在执行da.Update(dtTemp)时,总是有一个异常:
$exception {"ORA-00936: 缺少表达式\n"} System.Exception {System.Data.OracleClient.OracleException}

另外,我同样的是调用这个方法,做的也是同样的事情,但是不会产生这个异常,请高手指点;我猜测是不是数据库的表有问题?在线等答案啊。急
...全文
185 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Teng_s2000 2009-03-20
  • 打赏
  • 举报
回复
确认JUSTEPAPP.SHORTNOTE_MODEMINFO 写的正确?
WizardWu 2009-03-19
  • 打赏
  • 举报
回复
xxxCommandBuilder 性能很差,建议勿用。

最好自己写明确的 update sql
odCmd1.Connection = odConn;

odCmd1.CommandText = "UPDATE 数据表 SET " +
"COMP_ID=?, " +
"COMP_NAME=?, " +
...
";
// Parameter 请按照上述 SQL statement 的 ? 号的顺序,依序加入
odCmd1.Parameters.Add("@COMP_ID", OleDbType.VarWChar, 10).Value = COMP_ID;
odCmd1.Parameters.Add("@COMP_NAME", OleDbType.VarWChar, 100).Value = COMP_NAME;
intUpdatedRowCount = odCmd1.ExecuteNonQuery();

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧