Jump to content
Chamuanza

Erro na Inserção de Dados em DB

Recommended Posts

Chamuanza

Oi Pessoal

Estou com um pequeno problema, ao tentar inserir os dados numa tabela aparece-me este erro "Failed to convert parameter value from a SelectionRange to a DateTime." na linha    Dim x As Integer = command.ExecuteNonQuery()

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click


        ' Texto de ligação à base de dados 
        Dim myConnectionString As String = _
          "Data Source=.\SQLEXPRESS;AttachDbFilename='D:\ProjectoTotoMilhoes\TotoMilhões\GuardarResultados.mdf';" & _
          ";Integrated Security=True;User Instance=True"

        ' Comando que irá inserir dados na tabela "JogadosEuromilhoes" em que os campos 
        ' "Data" e "diasemana" são passados através de parâmetros 
        Dim SQL As String = "INSERT INTO JogadosEuromilhoes([Aposta], [Data], [DiaSemana], [N1], [N2], [N3], [N4], [N5],[E1], [E2]) VALUES (@Aposta, @Data, @DiaSemana, @N1, @N2, @N3, @N4, @N5, @E1, @E2);"

        ' Cria uma nova ligação à base de dados 
        Dim connection As New SqlConnection(myConnectionString)
        ' Criação do comando indicando a instrução e a ligação 
        Dim command As New SqlCommand(SQL, connection)

        ' Indicação dos parâmetros que serão inseridos 
        command.Parameters.Add("@Aposta", SqlDbType.VarChar).Value = ContaNumeroAposta
        command.Parameters.Add("@Data", SqlDbType.DateTime).Value = MonthCalendar1.SelectionRange
        command.Parameters.Add("@Diasemana", SqlDbType.VarChar).Value = "Terça-Feira"
        command.Parameters.Add("@N1", SqlDbType.VarChar).Value = ListBox1.Items.Item(0).ToString
        command.Parameters.Add("@N2", SqlDbType.VarChar).Value = ListBox1.Items.Item(1).ToString
        command.Parameters.Add("@N3", SqlDbType.VarChar).Value = ListBox1.Items.Item(2).ToString
        command.Parameters.Add("@N4", SqlDbType.VarChar).Value = ListBox1.Items.Item(3).ToString
        command.Parameters.Add("@N5", SqlDbType.VarChar).Value = ListBox1.Items.Item(4).ToString

        command.Parameters.Add("@E1", SqlDbType.VarChar).Value = ListBox2.Items.Item(0).ToString
        command.Parameters.Add("@E2", SqlDbType.VarChar).Value = ListBox2.Items.Item(1).ToString



        ' Abre a ligação, executa o comando e guarda em "x" o número de registos inseridos 
        connection.Open()

        Dim x As Integer = command.ExecuteNonQuery()
        If x < 1 Then
            MessageBox.Show("A operação efectuada não retomou qualquer resultado.")
        End If

        ' Fecha a ligação e limpa as variáveis 
        connection.Close()
        connection = Nothing
        command = Nothing

    End Sub

Na tabela tenho o campo "Data" como Datatime

Obrigado desde já pela atenção

Share this post


Link to post
Share on other sites
Caça

SelectionRange é um intervalo de datas, logo não podes converter para uma só data


Pedro Martins

Não respondo a duvidas por PM

Share this post


Link to post
Share on other sites
Chamuanza

Ok Caça obrigado pela dica

Alterei "SelectionRange" por SelectionStart e deu certo

Share this post


Link to post
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

×
×
  • 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.