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类型的,