Usuário com melhor resposta
Como retornar uma mensagem através de uma classe em c# asp.net ?

Pergunta
-
Olá, boa tarde !
Senhores, estou tentando verificar um registro antes de inserir, e gostaria que caso fosse encontrado o registro, ele me retornasse uma mensagem, não estou conseguindo fazer com que a mensagem retorne, pois não tenho o respose.write. Segue abaixo o codigo da minha classe.
public DataTable Inserir_Hospedes(Hospedes_TO p)
{ conn.Open();
String sqlMovimento = " Select * From Hospedes Where " +
" Hospedes.cpf Like @cpf ";
SqlCommand cmdMovimento = new SqlCommand(sqlMovimento, conn);
cmdMovimento.Parameters.AddWithValue("@cpf", p.Cpf + "%");
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = cmdMovimento;
DataSet ds = new DataSet();
da.Fill(ds);
if (ds.Tables[0].DefaultView.Count == 0)
{
conn.Open();
SqlTransaction transacao = conn.BeginTransaction();
StringBuilder sb = new StringBuilder();
//String sqlLua = "INSERT INTO [dbo].[Lua] ([Solicitante], [Ministerio], [Assunto], [Data], [Email], [Cel], [Res], [Descricao],[Tipo],[Status]) VALUES (@Solicitante, @Ministerio, @Assunto, @Data, @Email, @Cel, @Res, @Descricao, @Tipo, @Status)";
String sqlProduto = "INSERT INTO [dbo].[Hospedes] ([nome ],[rg],[cpf],[nacionalidade],[naturalidade],[pais], [idade], [sexo],[endereco],[bairro],[cidade],[estado],[cep],[tel],[celular],[veiculo],[placa]) VALUES (@nome, @rg, @cpf, @nacionalidade, @naturalidade, @pais, @idade, @sexo, @endereco, @bairro, @cidade, @estado, @cep, @tel, @celular, @veiculo, @placa)";
SqlCommand cmdProduto = new SqlCommand(sqlProduto, conn, transacao);
//cmdProduto.Parameters.AddWithValue("@data_cadastro",p.Data_cadastro);
cmdProduto.Parameters.AddWithValue("@nome", p.Nome);
cmdProduto.Parameters.AddWithValue("@rg", p.Rg);
cmdProduto.Parameters.AddWithValue("@cpf", p.Cpf);
cmdProduto.Parameters.AddWithValue("@nacionalidade", p.Nacionalidade);
cmdProduto.Parameters.AddWithValue("@naturalidade", p.Naturalidade);
//cmdProduto.Parameters.AddWithValue("@nascimento", p.Nascimento);
cmdProduto.Parameters.AddWithValue("@pais", p.País);
cmdProduto.Parameters.AddWithValue("@idade", p.Idade);
cmdProduto.Parameters.AddWithValue("@sexo", p.Sexo);
// cmdProduto.Parameters.AddWithValue("@email", p.Email);
cmdProduto.Parameters.AddWithValue("@endereco", p.Endereco);
cmdProduto.Parameters.AddWithValue("@bairro", p.Bairro);
cmdProduto.Parameters.AddWithValue("@cidade", p.Cidade);
cmdProduto.Parameters.AddWithValue("@estado", p.Estado);
cmdProduto.Parameters.AddWithValue("@cep", p.Cep);
cmdProduto.Parameters.AddWithValue("@tel", p.Tel);
cmdProduto.Parameters.AddWithValue("@celular", p.Celular);
cmdProduto.Parameters.AddWithValue("@veiculo", p.Veiculo);
cmdProduto.Parameters.AddWithValue("@placa", p.Placa);
cmdProduto.ExecuteNonQuery();
transacao.Commit();
conn.Close();
}
else
{
return ""; // gostaria de inserir a mensagem aqui
}
return ds.Tables[0];
}Abaixo o codigo do meu botão para inserir chamando a classe:
protected void Button1_Click(object sender, EventArgs e)
{
Hospedes_TO to = new Hospedes_TO();
Hospedes_ADO ado = new Hospedes_ADO();
to.Nome = txtNome.Text;
to.Rg = txtRG.Text;
to.Cpf = txtCPF.Text;
to.Nacionalidade = txtNacionalidade.Text;
to.Naturalidade = txtNaturalidade.Text;
to.País = txtPais.Text;
to.Idade = int.Parse(txtIdade.Text);
to.Sexo = txtSexo.Text;
to.Endereco = txtLogradouro.Text;
to.Bairro = txtBairro.Text;
to.Cidade = txtCidade.Text;
to.Estado = txtEstado.Text;
to.Cep = txtCep.Text;
to.Tel = txtTelResidencial.Text;
to.Celular = txtCelular.Text;
to.Veiculo = txtVeiculo.Text;
to.Placa = txtPlaca.Text;
ado.Inserir_Hospedes(to);}
Obrigado.
Anderson
Jimi Anderson
- Editado Anderson Mac quarta-feira, 2 de janeiro de 2013 19:06 Detlahes
Respostas
-
Você pode descer a mensagem para a View em forma de uma exceção...
else
{
//return ""; // gostaria de inserir a mensagem aquithrow new ApplicationException("Sua mensagem aqui");
}
E na View você captura com o Catch
Leonardo Lourenço Silva
- Marcado como Resposta Anderson Mac sexta-feira, 4 de janeiro de 2013 05:24
Todas as Respostas
-
-
Cara,
Você pode fazer um IF EXISTS, executar no banco e retornar a mensagem de acordo com o que deseja.
Exemplo:
IF Exists(Select 1 From ' + @Tabela + ' Where ' + @Campo + ' Is Null And codFuncionario=' + @codFunc) SELECT 'REGISTRO JÁ EXISTE' M
RETURN ELSE INSERT INTO ...
RETURN
Atenciosamente, Samuel dos Anjos
-
-
Você pode descer a mensagem para a View em forma de uma exceção...
else
{
//return ""; // gostaria de inserir a mensagem aquithrow new ApplicationException("Sua mensagem aqui");
}
E na View você captura com o Catch
Leonardo Lourenço Silva
- Marcado como Resposta Anderson Mac sexta-feira, 4 de janeiro de 2013 05:24
-