vagueante Posted February 23, 2012 at 12:18 PM Report Share #440822 Posted February 23, 2012 at 12:18 PM Boas, Tenho acesso a uma BD através de um dataset, no qual tenho dois tableadapters, cada um com várias queries (com e sem parametros), funciona bem até ao momento que deixa de funcionar!!! Passo a explicar, de vez em quando as queries deixam de retornar valores para o código (rows.count =0) e mesmo no preview, deixa de apresentar resultados, quando tenho a certeza que lá estão os dados, muitas vezes basta escolher configure, e seguir carregando nos botões next até ao fim, rebuild e passa a funcionar !?! A chatice nisto é que não sei o que possa estar a fazer para isto acontecer, vou alterando a aplicação, e em algumas queries acontece isto, lá tenho que andar com debug para descobrir onde está o problema, pois na app em cause recebo dados externos que podem ou não conter os dados completos, daí a dificuldade. Perco imenso tempo e após uma manhã, lá descobri as duas queries que estavam "estragadas Alguém sabe o que causa esta falta de estabilidade no dataset? Ou se existe alguma forma de "fiabilizar" a coisa? Obrigado Link to comment Share on other sites More sharing options...
Caça Posted February 23, 2012 at 01:18 PM Report Share #440830 Posted February 23, 2012 at 01:18 PM Os DataSets estão a ser descontinuados, agora utiliza-se mais EntityFramework, NHibernate, etc. Pedro Martins Não respondo a duvidas por PM Link to comment Share on other sites More sharing options...
programadorvb6 Posted March 6, 2012 at 12:49 AM Report Share #442497 Posted March 6, 2012 at 12:49 AM Olá boa noite. Veja esta dica talvez ajude a resolver o seu problema. Para lançar um erro em tempo de execução, vamos criar uma rotina básica para forçar um erro, que nada mais é do que dividir um número por zero “0”. Faça um duplo-clique no centro do Form1, para que o VStudio crie o escopo do evento Load do formulário. Escreva a listagem abaixo. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles MyBase.Load Dim valor1 As Integer = 5 Dim valor2 As Integer = 0 Try Dim ret As Integer = valor1 / valor2 Catch ex As Exception Me.GerarLogErro(ex) MessageBox.Show("Ocorreu um erro inesperado. Avise ao suporte.", _ "Informação : ") End Try End Sub - No código acima, utilizamos um bloco de tratamento de erro (Try… Catch) e quando o erro acontecer, os dados da exceção serão enviados para um método chamado GerarLogErro. A implementação do método está abaixo. Private Sub GerarLogErro(ByRef e As Exception) Try Dim sw As New StreamWriter(Application.StartupPath & "\LogErro.txt", True) With sw .WriteLine("Data: " & DateTime.Now.ToShortDateString()) .WriteLine("Hora: " & DateTime.Now.ToShortTimeString()) .WriteLine("Descrição do erro: " & e.Message) .WriteLine("Formulário: " & form) .WriteLine("Computador: " & My.Computer.Name) .WriteLine("Utilizador: " & My.User.Name) .WriteLine("---") .Flush() .Dispose() End With Catch End Try End Sub Este é um modo simples de como documentar as mensagens inesperadas que ocorrem no sistema. Espero ter ajudado. Até+ Programadorvb6 EDIT: GeSHi adicionado ______________________________________________________________________________ Que minha coragem seja maior que meu medo e que minha força seja tão grande quanto minha fé. Link to comment Share on other sites More sharing options...
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