Jump to content

Erro de valores NULL


yekxmerr
 Share

Recommended Posts

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

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

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

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.