Jump to content

Recommended Posts

Posted

Boas!

estou a desenvolver um programa para a gestão de um complexo desportivo e tudo corria bem até tentar guardar dados na BD (Access) .

dá-me o seguinte erro: Falha ao Converter o valor do parâmetro de string para DataTime.

Alguém me poderia ajudar?

Posted

Mas estás a trabalhar em VBA, ou VB6 com acesso a Access?

"Nós somos o que fazemos repetidamente, a excelência não é um feito, e sim, um hábito."
Não respondo a questões por PM que possam ser colocadas no fórum!

Posted

Sem ver nada do código, inclusive onde o erro acontece é um bocado difícil de ajudar. Mas uma coisa não deve haver dúvida, a tua string que contém a data não deve estar num formato válido ao ser convertida, agora o porquê assim não o sei dizer.

"Nós somos o que fazemos repetidamente, a excelência não é um feito, e sim, um hábito."
Não respondo a questões por PM que possam ser colocadas no fórum!

Posted
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim ConnectionString As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Application.StartupPath & "\BD_PAP.mdb")
        Dim query As String = "INSERT INTO Professor([nprofessor],[Nome], [bI],[Datnasc],[Morada],[Contacto], [codmodalidade], [turma]) VALUES (@nprofessor,@Nome,@BI,@Datnasc,@Morada,@Contacto,@codmodalidade,@turma)"

        Dim command As New OleDbCommand(query, ConnectionString)

        command.Parameters.Add("@nprofessor", OleDbType.VarChar).Value = TextBox1.Text
        command.Parameters.Add("@Nome", OleDbType.VarChar).Value = TextBox2.Text
        command.Parameters.Add("@BI", OleDbType.VarChar).Value = TextBox3.Text
        command.Parameters.Add("@Datnasc", OleDbType.Date).Value = TextBox4.Text
        command.Parameters.Add("@Morada", OleDbType.VarChar).Value = TextBox5.Text
        command.Parameters.Add("@Contacto", OleDbType.VarChar).Value = TextBox6.Text
        command.Parameters.Add("@codmodalidade", OleDbType.VarChar).Value = TextBox7.Text
        command.Parameters.Add("@turma", OleDbType.VarChar).Value = TextBox8.Text

        ConnectionString.Open()

        Dim x As Integer = command.ExecuteNonQuery()

        If x < 1 Then
            MessageBox.Show("Erro ao inserir", My.Application.Info.Title, MessageBoxButtons.OK, MessageBoxIcon.Error)
        Else
            MessageBox.Show("Registo inserido com sucesso!", My.Application.Info.Title, MessageBoxButtons.OK, MessageBoxIcon.Information)
        End If

        ConnectionString.Close()
        command = Nothing
    End Sub

o codigo que estou a usar e este.

Posted

Nos parametros do comando a data de nascimento que é do tipo Date supostamente, porque que estas a ir buscar a data inserida a uma textbox e nao a um datapicker ?

command.Parameters.Add("@Datnasc", OleDbType.Date).Value = TextBox4.Text

Se quiseres continuar com a textbox tens que formatar o texto para formato de data que pretendes

txtMyDate.Text = MyDate.ToString("mm/dd/yyyy")

tenta isto

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.