yekxmerr Posted March 14, 2009 at 09:20 PM Report Share #250741 Posted March 14, 2009 at 09:20 PM Boas tenho um problema que me está a dar cabo da cabeça, passa-se o seguinte: A minha base de dados foi criada em SQL, tenho várias tabelas alunos , codpostal, etc e tenho um formulário que faz criação de alunos, dados , etc. Então tenho o seguinte: - 2 caixas de texto ( não ligadas á base de dados ) que é para inserir o código postal - 1 Caixa de texto ligada a base de dados que indica a localidade do código postal - 1 Caixa de texto ligada a base de dados que tem o código chave, do código postal. Então tenho um código que faz o seguinte: Eu insiro o código postal nas 2 caixas de texto ( " 3000 " "200" ) e após perder o focus, ele faz uma procura na tabela de código postal e dá-me a localidade, e também a chave do código postal, e envia para 2 caixas de texto. Na de alunos, tenho o campo de código postal para não aceitar valores nulos. Tou a utilizar um tipo de dados Integer. O código é o seguinte: Private Sub Button_PaisCodPostal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_PaisCodPostal.Click Dim myConnectionString As String = "Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\BaseDados.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True" Dim SQL As String = "SELECT Cod_Postal,[Cod1], [Cod2], Localidade FROM CodigoPostal WHERE [Cod1] = '" & Me.txt_paiscodpostal1.Text & "' AND [cod2] = '" & Me.txt_paiscodpostal2.Text & "'" Dim connection As New SqlConnection(myConnectionString) Dim command As New SqlCommand(SQL, connection) Try connection.Open() Catch myerror As SqlException MessageBox.Show("Erro a conectar a base de dados: " & myerror.Message) End Try Dim reader As SqlDataReader = command.ExecuteReader() If reader.HasRows Then reader.Read() Me.LocalidadeTextBox1.Text = (Convert.ToString(reader(3))) Me.Cod_PostalTextBox1.Text = (Convert.ToString(reader(0))) Else MessageBox.Show("Necessita de inserir um código postal.", "Erro") End If End Sub Só um pequeno detalhe, este código está dentro de um botão, e quando as caixas de texto do código postal perdem o focus, clicka no botão. Tenho o seguinte erro quando tento guardar dados: " Cod_Postal não aceita valores nulos " , isto é referente a tabela de alunos na base de dados. Mas o dilema é o seguinte, as caixas de texto estão todas preenchidas com os valores todos, está tudo como devia estar, portanto não estou a perceber isto. Isto está um bocado confuso, desculpem lá mas não é fácil me explicar. Cumps Link to comment Share on other sites More sharing options...
Hellblazer Posted March 15, 2009 at 12:09 PM Report Share #250800 Posted March 15, 2009 at 12:09 PM tens e de mostrar o codigo que tens para guardar 😉 There are two ways to write error-free programs; only the third one works. Link to comment Share on other sites More sharing options...
yekxmerr Posted March 15, 2009 at 01:51 PM Author Report Share #250811 Posted March 15, 2009 at 01:51 PM Para gravar tenho um binding navigator normal que guarda os registos na bd. O botão guardar apenas faz-m o fill dos dados na tabela. Link to comment Share on other sites More sharing options...
yekxmerr Posted March 15, 2009 at 01:52 PM Author Report Share #250812 Posted March 15, 2009 at 01:52 PM A minha pergunta é, será que está alguma coisa errada no meu código ? Link to comment Share on other sites More sharing options...
jpaulino Posted March 15, 2009 at 03:09 PM Report Share #250827 Posted March 15, 2009 at 03:09 PM A minha pergunta é, será que está alguma coisa errada no meu código ? A tua pergunta é sobre um erro ao gravar, e não mostraste código para gravar. O outro está a funcionar ? Não sei, tens algum erro ? Link to comment Share on other sites More sharing options...
yekxmerr Posted March 15, 2009 at 06:18 PM Author Report Share #250863 Posted March 15, 2009 at 06:18 PM O erro que me dá é: Quando tento gravar, para gravar uzo apenas o butão de gravar no binding navigator, dá-me o erro que o campo cod_postal não aceita valores nulos, e a caixa de texto tem lá valores :S Link to comment Share on other sites More sharing options...
yekxmerr Posted March 16, 2009 at 10:17 AM Author Report Share #250935 Posted March 16, 2009 at 10:17 AM Alguem me sabe ajudar, numa outra maneira de fazer aquele código. É que tenho erros "estúpidos" , e ter a minha aplicação toda num só formulário devido ás tabs, não ajuda muito isto. Link to comment Share on other sites More sharing options...
jpaulino Posted March 16, 2009 at 10:36 AM Report Share #250936 Posted March 16, 2009 at 10:36 AM O erro que me dá é: Quando tento gravar, para gravar uzo apenas o butão de gravar no binding navigator, dá-me o erro que o campo cod_postal não aceita valores nulos, e a caixa de texto tem lá valores :S E o campo está bem associado ? Link to comment Share on other sites More sharing options...
yekxmerr Posted March 16, 2009 at 10:40 AM Author Report Share #250938 Posted March 16, 2009 at 10:40 AM Sim 😛 , os dados apareçem todos tudo como devia estar. Mas ao guardar o campo tem la dados, e dá-me erro que não tem, portanto desconfio que seja do código que tou a utilizar para fazer a verificação do código postal Link to comment Share on other sites More sharing options...
jpaulino Posted March 16, 2009 at 10:43 AM Report Share #250939 Posted March 16, 2009 at 10:43 AM E o erro dá-te a gravar ou a ir buscar os dados ? O que fica em LocalidadeTextBox1 e em Cod_PostalTextBox1 ? Link to comment Share on other sites More sharing options...
yekxmerr Posted March 16, 2009 at 10:47 AM Author Report Share #250940 Posted March 16, 2009 at 10:47 AM Sao os campos da base de dados. E o butão de guardar não faz nada, so quando carrego no de adicionar novo registo é que ele faz alguma coisa. Já estou a desperar com isto. Link to comment Share on other sites More sharing options...
yekxmerr Posted March 16, 2009 at 10:28 PM Author Report Share #251115 Posted March 16, 2009 at 10:28 PM Bom, descobri que o problema não é do código mas sim da base de dados. Criei um formulário em branco, e arrastei os campos do data source e tentei gravar um registo, e deu o mesmo erro. Portanto leva-me a crer que o problema é da base de dados, mas não consegui descobrir qual o problema. Gostaria de saber se me é permitido colocar aqui um link com a base de dados para ver se alguém me consegue ajudar ? Link to comment Share on other sites More sharing options...
jpaulino Posted March 17, 2009 at 12:00 AM Report Share #251135 Posted March 17, 2009 at 12:00 AM Gostaria de saber se me é permitido colocar aqui um link com a base de dados para ver se alguém me consegue ajudar ? Sim podes! Link to comment Share on other sites More sharing options...
yekxmerr Posted March 17, 2009 at 10:15 AM Author Report Share #251163 Posted March 17, 2009 at 10:15 AM http://rapidshare.com/files/210229963/BasedeDados.rar.html Link to comment Share on other sites More sharing options...
Hellblazer Posted March 17, 2009 at 10:35 AM Report Share #251171 Posted March 17, 2009 at 10:35 AM por acaso estas a preencher o campo cod_postal?? O erro parece-me bastante explicito There are two ways to write error-free programs; only the third one works. Link to comment Share on other sites More sharing options...
yekxmerr Posted March 17, 2009 at 11:23 AM Author Report Share #251185 Posted March 17, 2009 at 11:23 AM Estou o prob é esse. Dá-me erro que a caixa de texto não tem valores, mas tem :S Link to comment Share on other sites More sharing options...
yekxmerr Posted March 17, 2009 at 11:40 AM Author Report Share #251186 Posted March 17, 2009 at 11:40 AM Já agora, estou a ter um prob com uma notificação de Tabs: Tenho um botão para adicionar uma tab, e quando clicko tenho o seguinte código: Dim CriarPais As TabPage = Tab_CriarPais VerificarTab = CriarPais.Visible CriarPais.Visible = VerificarTab If VerificarTab = True Then MessageBox.Show("Este formulário já se encontra aberto.", "Avizo") Else TabControl1.Controls.Add(Tab_CriarPais) TabControl1.SelectedTab = Tab_CriarPais CodigoPostalTableAdapter.Fill(Me.CodigoPostalDataSet.CodigoPostal) End If Isto é para verificar se a tab está aberta , e se estiver não abre outra igual. Mas quando a fecho, já nao consigo abrir novamente,.diz que a tab já esta aberta Link to comment Share on other sites More sharing options...
Hellblazer Posted March 17, 2009 at 11:53 AM Report Share #251188 Posted March 17, 2009 at 11:53 AM VerificarTab = CriarPais.Visible CriarPais.Visible = VerificarTab ? Tu queres ver se é aquela que esta a ser vizualizada no ecrã? There are two ways to write error-free programs; only the third one works. Link to comment Share on other sites More sharing options...
yekxmerr Posted March 17, 2009 at 11:56 AM Author Report Share #251189 Posted March 17, 2009 at 11:56 AM Nepia. Sou tão calhau ... lol . Quer apenas verificar se a tab está aberta, e se estiver não abre e dá a mensagem de erro O "VerificarTab" é uma variavel bolean que declarei Link to comment Share on other sites More sharing options...
yekxmerr Posted March 17, 2009 at 12:00 PM Author Report Share #251190 Posted March 17, 2009 at 12:00 PM Para remover tab utilizo: TabControl1.Controls.Remove(Tab_CriarPais) 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