OracleCommand,.Net,C#类型转换的问题,急只有80分了

qvyyy 2006-12-05 10:47:42
string sConnectionString,sSelectCommand,sInsertCommand;

sConnectionString = ConfigurationManager.ConnectionStrings["OraConnectionString"].ConnectionString;
OracleConnection MyConnection = new System.Data.OracleClient.OracleConnection(sConnectionString);

sSelectCommand = "SYSTEM.P_GET_USER_COUNT";
OracleCommand MyCommand = new OracleCommand();
MyCommand.Connection = MyConnection;
MyCommand.CommandText = sSelectCommand;
MyCommand.CommandType = CommandType.StoredProcedure;

MyCommand.Parameters.Add("vUserID", OracleType.VarChar).Value = sUserID;
MyCommand.Parameters.Add("CountUser", OracleType.Number).Direction = ParameterDirection.Output;
// 上边一行等于
// MyCommand.Parameters.Add("CountUser", OracleType.Number);
// MyCommand.Parameters["CountUser"].Direction = ParameterDirection.Output;

MyCommand.Connection.Open();
MyCommand.ExecuteNonQuery();
MyCommand.Connection.Close();

if ((int)(MyCommand.Parameters["CountUser"].Value) == 1)
{
LabelMessage.Text = "该用户ID已被注册!";
return;
}
else if (MyCommand.Parameters["CountUser"].Value == null)
{
LabelMessage.Text = "数据库获取数据失败!";
return;
}
else if ((int)(MyCommand.Parameters["CountUser"].Value) != 0)
{
LabelMessage.Text = "不可预知的错误!";
return;
}

在 if ((int)(MyCommand.Parameters["CountUser"].Value) == 1) 不管我执行类型转过不去,直接比较又不行,应该怎样进行操作呢,
对了,我设置断点,MyCommand.Parameters["CountUser"].Value 的值是 0,不过是object类型的,
...全文
82 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
RexZheng 2006-12-05
  • 打赏
  • 举报
回复
应该是叫多态吧,哈哈,名词都叫乱了
RexZheng 2006-12-05
  • 打赏
  • 举报
回复
不过有些奇怪它的定义 Convert.ToInt32(bool value)但是真的可以!
------------------

Convert.ToInt32有十九个重载
qvyyy 2006-12-05
  • 打赏
  • 举报
回复
int.parse(MyCommand.Parameters["CountUser"].Value)
这个方法试了,不行,还是报那个错


Convert.ToInt32(MyCommand.Parameters["CountUser"].Value) == 1
这个可以,呵呵,不过有些奇怪它的定义 Convert.ToInt32(bool value)但是真的可以!
王哈呵 2006-12-05
  • 打赏
  • 举报
回复
int.parse(MyCommand.Parameters["CountUser"].Value)
RexZheng 2006-12-05
  • 打赏
  • 举报
回复
试试这样?

Convert.ToInt32(MyCommand.Parameters["CountUser"].Value) == 1
qvyyy 2006-12-05
  • 打赏
  • 举报
回复
错误描述是:指定的转换无效

(int)MyCommand.Parameters["CountUser"].Value == 1

这样写也是不对的

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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