eskalha Posted May 5, 2012 at 07:24 PM Report #453327 Posted May 5, 2012 at 07:24 PM Boa noite, Eu fiz uma aplicação em C#, no visual studio, que, entre outras coisas, faz acessos a uma base de dados incluida no projecto. A minha base de dados está feita no SQL server 2008 R2 e o meu problema é que, ao executar a aplicação através do visual studio tenho que fazer a conexão primeiro com a base de dados e funciona tudo. O problema é ao executar a aplicação a partir do ficheiro executável já não consigo fazer os tais acessos à base de dados. Alguém me consegue explicar pk? Será que tenho que por a BD noutro formato?
Caça Posted May 5, 2012 at 10:32 PM Report #453357 Posted May 5, 2012 at 10:32 PM Que erro está a dar? Pedro Martins Não respondo a duvidas por PM
eskalha Posted May 5, 2012 at 10:58 PM Author Report #453360 Posted May 5, 2012 at 10:58 PM Tipo logo no load do form eu tou a preencher uma dataGridView através de métodos de acesso à bd, como este: public static IBindingList LoadAll() { try { DataSet ds = ExecuteQuery(GetConnection(false), "SELECT * FROM DadosVoo"); IBindingList ret = new BindingList<DadosVoo>(); foreach (DataRow r in ds.Tables[0].Rows) { DadosVoo g = new DadosVoo(r); ret.Add(g); } return ret; } catch (Exception ex) { throw new ApplicationException("Erro BD", ex); } } Ao arrancar do executavel isto funciona, nao da erro. Mas depois quando quero remover uma linha da dgv, ao carregar no botao chama este método: public static void DeleteVoo(int idv) { try { DataSet ds = ExecuteQuery(GetConnection(false), "delete from DadosVoo where IDVoo = '"+idv+"';"); Graficos.DeleteVoo(idv); } catch (Exception ex) { throw new ApplicationException("Erro BD", ex); } } E Aqui é que apanha a excepçao e da "Erro BD" e não remove na BD, mas quando executo através do visual studio funciona. Não sei pk
Rechousa Posted May 6, 2012 at 01:10 AM Report #453366 Posted May 6, 2012 at 01:10 AM Qual a mensagem de erro retornada na excepção? Pedro Martins Sharing is Knowledge! http://www.linkedin.com/in/rechousa
eskalha Posted May 6, 2012 at 08:35 PM Author Report #453457 Posted May 6, 2012 at 08:35 PM "Error BD" por isso é que deve ser do método. Mas pus uma linha nova e não deu erro, esperemos que nao de mais 😄 Obrigado pela ajuda
Caça Posted May 6, 2012 at 09:55 PM Report #453466 Posted May 6, 2012 at 09:55 PM Só diz isso? Qual é a mensagem que está na variável ex? Pedro Martins Não respondo a duvidas por PM
eskalha Posted May 7, 2012 at 04:32 PM Author Report #453590 Posted May 7, 2012 at 04:32 PM Está o tal "Erro BD"! Desconfio que seja por culpa da conexao com a BD sql, pk tipo ao abrir o projecto com o VS tenho que fazer a conexão à bd primeiro antes de executar o programa. Ao correr o executavel sem ter aberto o VS ach oque de alguma forma nao ta a ser feita a conexão à base de dados :S
Caça Posted May 7, 2012 at 09:08 PM Report #453643 Posted May 7, 2012 at 09:08 PM Ok, isso já precebemos, esse erro és tu que o estás a disparar aqui throw new ApplicationException("Erro BD", ex); Não sei qual é a tua intenção em disparar um erro durante um tratamento de erro... O que queremos saber é o que está em ex.Message para te ajudarmos. Pedro Martins Não respondo a duvidas por PM
eskalha Posted May 7, 2012 at 09:39 PM Author Report #453651 Posted May 7, 2012 at 09:39 PM Nao te consigo dizer mais pk isto so dá a executar a aplicação através do executável, logo nao aparece mais nada pk so aparece a MEssageBox a dizer "Erro BD" O problema deve ser de executar a aplicação se ter aberto o VS primeiro para fazer a conexão à bd, e isso não devia acontecer..
Caça Posted May 7, 2012 at 09:44 PM Report #453654 Posted May 7, 2012 at 09:44 PM Então faz com que apareça na mensagem, troca o que tens por isto e experimenta. throw new ApplicationException(ex.Message); Pedro Martins Não respondo a duvidas por PM
Rechousa Posted May 7, 2012 at 09:56 PM Report #453659 Posted May 7, 2012 at 09:56 PM Eu sou apologista em fazer algo do género: catch (Exception ex) { // Aqui podes fazer um LOG enviar por email, se bem que uso o Elmah para registar excepções. throw; // Ao fazeres throw estás a relançar a MESMA excepção para trás } Pedro Martins Sharing is Knowledge! http://www.linkedin.com/in/rechousa
Sponsor Posted May 11, 2012 at 09:43 AM Report #454533 Posted May 11, 2012 at 09:43 AM Viva Rechousa, Dizes num post que usas o Elmah: Eu sou apologista em fazer algo do género: catch (Exception ex) { // Aqui podes fazer um LOG enviar por email, se bem que uso o Elmah para registar excepções. throw; // Ao fazeres throw estás a relançar a MESMA excepção para trás } Pelo pouco que li é usado em aplicações web, existe forma "directa" de se poder usar em windows form?? Obrigado!
bruno1234 Posted May 11, 2012 at 06:54 PM Report #454721 Posted May 11, 2012 at 06:54 PM Neste momento o maior bug que vejo na tua aplicação é o tratamento de excepções. Depois de corrigires esse bug, consegues identificar os outros. Matraquilhos para Android. Gratuito na Play Store. https://play.google.com/store/apps/details?id=pt.bca.matraquilhos
Rechousa Posted May 24, 2012 at 11:54 PM Report #458019 Posted May 24, 2012 at 11:54 PM (edited) Olá Marco_5, Desculpa só agora responder, só agora é que vi a tua mensagem 🙂 Viva Rechousa, Dizes num post que usas o Elmah: Pelo pouco que li é usado em aplicações web, existe forma "directa" de se poder usar em windows form?? Nunca utilizei Elmah para Windows Forms. Pelas pesquisas que fiz, encontrei este artigo que poderá ajudar-te. http://www.codeproje...eption-Handling Edited May 24, 2012 at 11:54 PM by Rechousa Pedro Martins Sharing is Knowledge! http://www.linkedin.com/in/rechousa
Sponsor Posted June 5, 2012 at 11:55 AM Report #460517 Posted June 5, 2012 at 11:55 AM Olá Marco_5, Desculpa só agora responder, só agora é que vi a tua mensagem 🙂 Nunca utilizei Elmah para Windows Forms. Pelas pesquisas que fiz, encontrei este artigo que poderá ajudar-te. http://www.codeproje...eption-Handling Não há problema e agradeço a resposta! Vou dar uma olhadela no artigo, para ver a melhor solução a usar nestas situações.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now