Olá Galera
Tenho uma aplicação que faço um cadastro simples, pois executo OleDbCommand com o ExecuteNonQuery(), mas como faço para minha aplicação saber se o insert ocorreu mesmo, me disseram que o ExecuteNonQuery() retorna -1 quando da erro so que simulei
um erro e ele cai no tratamento do try{}catch{}
segue o codigo da função que faz o cadastro abaixo:
public string registerUser(string username, string senha, string registro, int id_perfil)
{
string result;
try
{
using (conexao = new OleDbConnection(ConfigurationManager.AppSettings.Get("ConectionLocal")))
{
conexao.Open();
//Procedure que insere o Registro
OleDbCommand insertRegistro = new OleDbCommand("up_insertRegistro", conexao);
insertRegistro.CommandType = CommandType.StoredProcedure;
insertRegistro.Parameters.AddWithValue("@registro", registro);
if (insertRegistro.ExecuteNonQuery() != -1)
{
//Procedure que pega o id do registo cadastrado
OleDbCommand newIdRegistro = new OleDbCommand("up_getNewIds", conexao);
newIdRegistro.CommandType = CommandType.StoredProcedure;
newIdRegistro.Parameters.AddWithValue("@registro", registro);
OleDbDataReader id;
id = newIdRegistro.ExecuteReader(CommandBehavior.CloseConnection);
//Procedure Para pegar id da empresa do usuario que esta cadastrando
OleDbCommand getIdEmpresaUser = new OleDbCommand("up_getIdEmpresaUser", conexao);
getIdEmpresaUser.CommandType = CommandType.StoredProcedure;
getIdEmpresaUser.Parameters.AddWithValue("@username", username);
OleDbDataReader idEmpresaUser;
idEmpresaUser = getIdEmpresaUser.ExecuteReader(CommandBehavior.CloseConnection);
OleDbCommand registerUsername = new OleDbCommand("up_registerUsername", conexao);
registerUsername.CommandType = CommandType.StoredProcedure;
registerUsername.Parameters.AddWithValue("@username", username);
registerUsername.Parameters.AddWithValue("@senha", senha);
registerUsername.Parameters.AddWithValue("@id_registro", Convert.ToInt32(id[0]));
registerUsername.Parameters.AddWithValue("@id_empresa", Convert.ToInt32(idEmpresaUser[0]));
registerUsername.Parameters.AddWithValue("@id_perfil", id_perfil);
if (registerUsername.ExecuteNonQuery() != -1)
{
result = ConfigurationManager.AppSettings.Get("UserCadOk");
}
else
{
result = ConfigurationManager.AppSettings.Get("UserExists");
}
}
else
{
result = ConfigurationManager.AppSettings.Get("UserExists");
}
}
}
catch (Exception)
{
throw;
}
finally
{
conexao.Close();
}
return result;
}
obrigado