Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

felipe maricato moura

retornar true ou false depois de inserir dados

Recommended Posts

eu tenho esse método public static void insert_noticias(string titulo, string fonte, string noticia) { connString = ConfigurationManager.ConnectionStrings["mysqlConnection"].ToString(); MySqlConnection conexaoMySQL = new MySqlConnection(connString); MySqlCommand cmd = new MySqlCommand(); cmd.CommandText = "insert into noticia (titulo,fonte,noticia,data_hora) value ('"+titulo+"','"+fonte+"','"+noticia+"',now());"; cmd.Connection = conexaoMySQL; conexaoMySQL.Open(); cmd.ExecuteNonQuery(); conexaoMySQL.Close(); }onde é que eu faço o teste para descobriu se deu erro ou não, para poder retornar true ou fase e dar uma mensagem ao usuário?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Depende de qual erro você quer tratar:1) Você quer saber se deu erro na hora de conectar ao servidor? Faz um try... catch no "conexaoMySQL.Open();";2) Você quer saber se foi na hora de executar a instrução SQL? Faz um try... catch no "cmd.ExecuteNonQuery();";3) Quer pegar qualquer erro? Faz um try... catch abrangendo todas as linhas do procedimento.Sacou? ;)Graymalkin

Compartilhar este post


Link para o post
Compartilhar em outros sites

saquei muito obrigado isso mesmo que precisda saber valeua dificuldade maior de migara para asp.net é perder os paradigmas de programação de outras linguagens

Compartilhar este post


Link para o post
Compartilhar em outros sites

Utilizar Try Catch pra verificar simplesmene se houve erro ou não, sem nenhum tratamento, é uma péssima prática :-( O método ExecuteNonQuery retorna o número de registros alterados no banco, portanto basta verificar se é igual a 0.

 

public static Boolean insert_noticias(string titulo, string fonte, string noticia){  Boolean resultado;  connString = ConfigurationManager.ConnectionStrings["mysqlConnection"].ToString();  MySqlConnection conexaoMySQL = new MySqlConnection(connString);  MySqlCommand cmd = new MySqlCommand();  cmd.CommandText = "insert into noticia (titulo,fonte,noticia,data_hora)										  value  '"+titulo+"','"+fonte+"','"+noticia+"',now());";  cmd.Connection = conexaoMySQL;  conexaoMySQL.Open();  if (cmd.ExecuteNonQuery() > 0)	resultado = true;  else	resultado = false;  conexaoMySQL.Close();  return resultado;}

Tenta ai, abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, acredito que não é a este tipo de "erro" que ele estava se referindo. Experimente colocar um nome como "Tu l'as voulu!" na string titulo (ou em qualquer uma das outras) e você vai verificar que um provável erro vai ocorrer (strings não fechadas corretamente). Este tipo de erro seria capturado com try... catch, e não deixaria o sistema ser fechado na cara do usuário.

 

Abraços,

 

Graymalkin

Compartilhar este post


Link para o post
Compartilhar em outros sites

concordo mas ouvi falar sobre uma classes de mensagens e tal mas ainda não achei nada alguem já ouvi falar?disseram que uma forma elegante de tratar erros

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.