Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #59 da revista programar. Faz já o download aqui!

NBatista

dúvida com dados incorrectos

Mensagens Recomendadas

NBatista    0
NBatista

tenho um formulario que é para registar sócios, o meu botão gravar, quando eu pesso para guardar diz um erro que é:

"TIPO DE DADOS INCORRECTOS NA EXPRESSÃO DE CRITÉRIOS" o que poderá ser?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
nelsonr    333
nelsonr

Boas NBatista,

não forneces muita informação nesse teu post.

Podes colocar um bocado de código do sitio onde está a ocorrer o erro?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
NBatista    0
NBatista

o meu código é:

CN.ConnectionString = "Provider=MIcrosoft.Jet.OLEDB.4.0; Data source=C:\BandaGest PAP (PAP)\PAP.mdb"
	CN.Open()
	Dim str As String
	str = "insert into Sócios([num_sócio], [Nome], [Morada], [Localidade], [Freguesia], [Num_Telemóvel], [Num_Telefone], [Num_contribuinte], [Data_Nascimento], [Cod_postal]) values(?,?,?,?,?,?,?,?,?,?)"
	Dim cmd As OleDbCommand = New OleDbCommand(str, CN)
	cmd.Parameters.Add(New OleDbParameter("num_sócio", CType(num_sociotextbox.Text, Integer)))
	cmd.Parameters.Add(New OleDbParameter("Nome", CType(nometextbox.Text, String)))
	cmd.Parameters.Add(New OleDbParameter("Morada", CType(moradatextbox.Text, String)))
	cmd.Parameters.Add(New OleDbParameter("Localidade", CType(localidadetextbox.Text, String)))
	cmd.Parameters.Add(New OleDbParameter("Freguesia", CType(freguesiatextbox.Text, String)))
	cmd.Parameters.Add(New OleDbParameter("Num_Telemóvel", CType(telemoveltextbox.Text, Integer)))
	cmd.Parameters.Add(New OleDbParameter("Num_Telefone", CType(telefonetextbox.Text, Integer)))
	cmd.Parameters.Add(New OleDbParameter("Num_contribuinte", CType(contribuintetextbox.Text, Integer)))
	cmd.Parameters.Add(New OleDbParameter("Data_Nascimento", CType(Data_NascimentoDateTimePicker.Text, String)))
	cmd.Parameters.Add(New OleDbParameter("Cod_postal", CType(Cod_postalTextBox.Text, String)))
	Try
		cmd.ExecuteNonQuery()
		MsgBox("Registo gravado com sucesso!")

	Catch ex As Exception
		MsgBox(ex.Message)
	End Try
	num_sociotextbox.Clear()
	nometextbox.Clear()

	moradatextbox.Clear()
	localidadetextbox.Clear()
	freguesiatextbox.Clear()
	telemoveltextbox.Clear()
	telefonetextbox.Clear()
	contribuintetextbox.Clear()
	Cod_postalTextBox.Clear()


	btnadicionar.Enabled = True
	btngravar.Enabled = False
	btnremover.Enabled = True
	btnalterar.Enabled = True
End Sub

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
nelsonr    333
nelsonr

O mais certo é alguma dessas textboxs não ter o tipo correcto para o qual está a ser convertido.

Pôe um breakpoint ai nessas linhas e confirma o conteúdo de cada uma das textboxs, principalmente as que estão a ser convertidas para inteiro

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
NBatista    0
NBatista

acho que o problema é que como eu pus data/hora na base de dados e eu pus no form o que estava na base de dados... a text é data_nascimentoDateTimePicker.. secalhar nao grava corretamente os dados...

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
NBatista    0
NBatista

sim é uma situação parecida...

e agr comoja tentei por uma box que se chama calendar.. mas continua a dar o mesmo erro

o link com o código que me enviaste funciona com arrobas :o

?

Editado por NBatista

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
NBatista    0
NBatista

ja corrigi, em vez de por .text meti ".value" agora aparece isto """"""Error 1 Syntax error in cast operator; two arguments separated by comma are required. C:\BandaGest PAP (PAP)\BandaGest PAP\PAP - BandaGest\PAP - BandaGest\Sócios.vb 194 107 PAP - BandaGest"""

o erro ocorre nesta linha de código:

cmd.Parameters.Add(New OleDbParameter("Data_Nascimento", CType(Data_NascimentoDateTimePicker.Value)))

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
NBatista    0
NBatista

boas nelsonr ..

já esta resolvido este código.. ficou resolvido assim:

CN.ConnectionString = "Provider=MIcrosoft.Jet.OLEDB.4.0; Data source=C:\BandaGest PAP (PAP)\PAP.mdb"
       CN.Open()
       Dim str As String
       str = "insert into Sócios([num_sócio], [Nome], [Morada], [Localidade], [Freguesia], [Num_Telemóvel], [Num_Telefone], [Num_contribuinte], [Data_Nascimento], [Cod_postal]) values(?,?,?,?,?,?,?,?,?,?)"
       Dim cmd As OleDbCommand = New OleDbCommand(str, CN)
       cmd.Parameters.Add(New OleDbParameter("num_sócio", CType(num_sociotextbox.Text, Integer)))
       cmd.Parameters.Add(New OleDbParameter("Nome", CType(nometextbox.Text, String)))
       cmd.Parameters.Add(New OleDbParameter("Morada", CType(moradatextbox.Text, String)))
       cmd.Parameters.Add(New OleDbParameter("Localidade", CType(localidadetextbox.Text, String)))
       cmd.Parameters.Add(New OleDbParameter("Freguesia", CType(freguesiatextbox.Text, String)))
       cmd.Parameters.Add(New OleDbParameter("Num_Telemóvel", CType(telemoveltextbox.Text, Integer)))
       cmd.Parameters.Add(New OleDbParameter("Num_Telefone", CType(telefonetextbox.Text, Integer)))
       cmd.Parameters.Add(New OleDbParameter("Num_contribuinte", CType(contribuintetextbox.Text, Integer)))
       cmd.Parameters.Add(New OleDbParameter("Data_Nascimento", CType(Data_NascimentoDateTimePicker.Value, String)))
       str = cod_postalTextBox.Text
       str = str.Remove(4, 1)

       cmd.Parameters.Add(New OleDbParameter("Cod_postal", CType(str, Integer)))
       Try
           cmd.ExecuteNonQuery()
           MsgBox("Registo gravado com sucesso!")

       Catch ex As Exception
           MsgBox("erro na gravacao" & ex.Message)
       End Try
       num_sociotextbox.Clear()
       nometextbox.Clear()

       moradatextbox.Clear()
       localidadetextbox.Clear()
       freguesiatextbox.Clear()
       telemoveltextbox.Clear()
       telefonetextbox.Clear()
       contribuintetextbox.Clear()
       Cod_postalTextBox.Clear()


       btnadicionar.Enabled = True
       btngravar.Enabled = False
       btnremover.Enabled = True
       btnalterar.Enabled = True

Editado por thoga31
Tags CODE + GeSHi

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.