enterprise library 执行oracle语句?

web_gus 2008-04-08 10:36:53
enterprise library 执行oracle语句时的其中的参数不是用@么?
public bool Exists(string AAA100)
{
Database db = DatabaseFactory.CreateDatabase();
StringBuilder strSql = new StringBuilder();
strSql.Append("select count(1) from UA10 where AAA100=@AAA100 ");
DbCommand dbCommand = db.GetSqlStringCommand(strSql.ToString());
db.AddInParameter(dbCommand, "AAA100", DbType.String, AAA100);
int cmdresult;
object obj = db.ExecuteScalar(dbCommand);
if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))
{
cmdresult = 0;
}
else
{
cmdresult = int.Parse(obj.ToString());
}
if (cmdresult == 0)
{
return false;
}
else
{
return true;
}
}

Error:ORA-01036 非法的变量名/编号?

ps:clob字段怎么设置对应的dbtype?
...全文
107 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
vosov 2008-04-08
  • 打赏
  • 举报
回复
oracle参数应该用“:”,而不是“@”
web_gus 2008-04-08
  • 打赏
  • 举报
回复
这个也不行,我试了一下
strSql.Append("select count(1) from UA10 where AAA100=:AAA100 ");
DbCommand dbCommand = db.GetSqlStringCommand(strSql.ToString());
db.AddInParameter(dbCommand, "AAA100", DbType.String, AAA100);
这样不出ORA-01036 非法的变量名/编号错误,变成tns写入失败。
soaringbird 2008-04-08
  • 打赏
  • 举报
回复
试试这样:
db.AddInParameter(dbCommand, "@AAA100", DbType.String, AAA100);
web_gus 2008-04-08
  • 打赏
  • 举报
回复
up一下,项目急用

110,538

社区成员

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

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

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