Leandro_Pirozzi Postado Abril 22, 2009 Denunciar Share Postado Abril 22, 2009 Boa tarde galera, alguém já viu esse erro?Acontece quando vou cadastrar uma tarefa no BD do ORACLE.Obrigado.Private Sub cmdcadtarefa_Click(Index As Integer) txttarempresa.Text = txtempresa.Text txttarequipe.Text = cboequipe.Text Dim SQL As String If Not Verifica_Tarefas Then MsgBox "Campo obrigatório vazio, favor verificar.", vbInformation, "Atenção" Exit Sub End If Set rsTarefas = New ADODB.Recordset SQL = "INSERT INTO CONTATOS_AGENDA " SQL = SQL & "(ID_AGENDA, CODEMP, ASSESSOR, EQUIPE, TAREFA, EMPRESA, CONTATO, DATATAREFA, HORA)" SQL = SQL & "VALUES (incremento_ID_AGENDA, '" & Me.txtcodemp.Text & "','" & Me.txtassessor.Text & "','" & Me.txttarequipe.Text & "','" & Me.txttarefa.Text & "', " SQL = SQL & "'" & Me.txttarempresa.Text & "' , " SQL = SQL & "'" & Me.txttarcont.Text & "' , " SQL = SQL & "'" & Me.txtdatatarefa.Text & "','" & Me.txttarhora.Text & "')" Set rsTarefas.ActiveConnection = cnAgenda cnAgenda.Execute SQL 'aqui é exibido o erro. LimpaTarefas Verifica_Tarefas MsgBox "Cadastro de tarefa efetuado com sucesso" Call ExibeTarefas GridEX6.Refresh End Sub Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 raphael_suporte Postado Abril 22, 2009 Denunciar Share Postado Abril 22, 2009 provavelmente o erro está aquiincremento_ID_AGENDA, '" onde seria incremento_ID_AGENDA &'", Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Leandro_Pirozzi Postado Abril 22, 2009 Autor Denunciar Share Postado Abril 22, 2009 provavelmente o erro está aquiincremento_ID_AGENDA, '" onde seria incremento_ID_AGENDA &'",opa Raphael beleza?então ele é uma sequence criada no oracle pra acrescentar no ID.Na verdade ele é uma autonumeração no Oracle so pra ir somando. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 raphael_suporte Postado Abril 22, 2009 Denunciar Share Postado Abril 22, 2009 ah é verdade, então está na forma correta, então pode ser que algum campo não esteja na forma de varchar e você está passando o valor como se fosse... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Leandro_Pirozzi Postado Abril 22, 2009 Autor Denunciar Share Postado Abril 22, 2009 ah é verdade, então está na forma correta, então pode ser que algum campo não esteja na forma de varchar e você está passando o valor como se fosse...O Pior q esta tudo como date.create table CONTATOS_AGENDA( ID_AGENDA VARCHAR2(20), CODEMP VARCHAR2(10), ASSESSOR VARCHAR2(50), EMPRESA VARCHAR2(50), EQUIPE VARCHAR2(30), TAREFA VARCHAR2(50), CONTATO VARCHAR2(50), DATATAREFA DATE, HORA VARCHAR2(20)); Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 raphael_suporte Postado Abril 22, 2009 Denunciar Share Postado Abril 22, 2009 datatarefa está como date o resto está como VARCHAR2, você está passando tudo de forma correta, porem o date você está passando como se fosse um varchar e ele não é...tente passar sem as aspas simples. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Leandro_Pirozzi Postado Abril 23, 2009 Autor Denunciar Share Postado Abril 23, 2009 datatarefa está como date o resto está como VARCHAR2, você está passando tudo de forma correta, porem o date você está passando como se fosse um varchar e ele não é...tente passar sem as aspas simples.Opa Raphael eu tentei tirar as aspas simples mas mesmo ainda persiste o erro.Deve ser alguma besteira isso. Set rsTarefas = New ADODB.Recordset SQL = "INSERT INTO CONTATOS_AGENDA " SQL = SQL & "(ID_AGENDA, CODEMP, ASSESSOR, EQUIPE, TAREFA, EMPRESA, CONTATO, DATATAREFA, HORA)" SQL = SQL & "VALUES (incremento_ID_AGENDA, '" & Me.txtcodemp.Text & "','" & Me.txtassessor.Text & "','" & Me.txttarequipe.Text & "','" & Me.txttarefa.Text & "', " SQL = SQL & "'" & Me.txttarempresa.Text & "' , " SQL = SQL & "'" & Me.txttarcont.Text & "' , " SQL = SQL & "" & Me.txtdatatarefa.Text & " , " SQL = SQL & "'" & Me.txttarhora.Text & "')" Set rsTarefas.ActiveConnection = cnAgenda cnAgenda.Execute SQL Ai ele aponta aqui de novo o erro. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Leandro_Pirozzi Postado Abril 23, 2009 Autor Denunciar Share Postado Abril 23, 2009 Para tirar as dúvidas segue o SQL.INSERT INTO CONTATOS_AGENDA (ID_AGENDA, CODEMP, ASSESSOR, EQUIPE, TAREFA, EMPRESA, CONTATO, DATATAREFA, HORA)VALUES (incremento_ID_AGENDA, '2498','RUTE','GIRARDI','email', 'TELEFONICA S/A' , 'leandro' , 23/04/2009 , '14:10') Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 raphael_suporte Postado Abril 23, 2009 Denunciar Share Postado Abril 23, 2009 Leandro posso até estar enganado, pois não sou muito conhecedor de bancos, mas acho que o formato da data "dd/mm/yyyy" tem que ser convertido para "yyyy-mm-dd", e também o campo "TELEFONICA S/A" pode ser um problema, acho que a barra tem um valor especifico dentro do SQL(script) e talvez por isso não esteja "funfando", vou pesquisar sobre isso, e talvez alguém com mais propriedade em banco possa falar sobre isso. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Leandro_Pirozzi Postado Abril 23, 2009 Autor Denunciar Share Postado Abril 23, 2009 Leandro posso até estar enganado, pois não sou muito conhecedor de bancos, mas acho que o formato da data "dd/mm/yyyy" tem que ser convertido para "yyyy-mm-dd", e também o campo "TELEFONICA S/A" pode ser um problema, acho que a barra tem um valor especifico dentro do SQL(script) e talvez por isso não esteja "funfando", vou pesquisar sobre isso, e talvez alguém com mais propriedade em banco possa falar sobre isso.Então em relação ao nome da empresa "TELEFONICA S/A" acho q não tem erro não, testei com outra empresa e deu o mesmo erro.O formato da hora esta "dd/mm/yyyy" preciso converter ele no BD?é isso? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Leandro_Pirozzi Postado Abril 23, 2009 Autor Denunciar Share Postado Abril 23, 2009 Leandro posso até estar enganado, pois não sou muito conhecedor de bancos, mas acho que o formato da data "dd/mm/yyyy" tem que ser convertido para "yyyy-mm-dd", e também o campo "TELEFONICA S/A" pode ser um problema, acho que a barra tem um valor especifico dentro do SQL(script) e talvez por isso não esteja "funfando", vou pesquisar sobre isso, e talvez alguém com mais propriedade em banco possa falar sobre isso.Então em relação ao nome da empresa "TELEFONICA S/A" acho q não tem erro não, testei com outra empresa e deu o mesmo erro.O formato da hora esta "dd/mm/yyyy" preciso converter ele no BD?é isso?Bom galera consegui resolver.Foi besteira minha. Eu esqueci de por o .NEXTVAL claro q não ia mesmo.Segue o code correto:Vlw Raphael pela força.Private Sub cmdcadtarefa_Click(Index As Integer) txttarempresa.Text = txtempresa.Text txttarequipe.Text = cboequipe.Text Dim SQL As String If Not Verifica_Tarefas Then MsgBox "Campo obrigatório vazio, favor verificar.", vbInformation, "Atenção" Exit Sub End If Set rsTarefas = New ADODB.Recordset SQL = "INSERT INTO CONTATOS_AGENDA " SQL = SQL & "(ID_AGENDA, CODEMP, ASSESSOR, EQUIPE, TAREFA, EMPRESA, CONTATO, DATATAREFA, HORA)" SQL = SQL & "VALUES (incremento_ID_AGENDA.NextVal, '" & Me.txtcodemp.Text & "','" & Me.txtassessor.Text & "','" & Me.txttarequipe.Text & "','" & Me.txttarefa.Text & "', " SQL = SQL & "'" & Me.txttarempresa.Text & "' , " SQL = SQL & "'" & Me.txttarcont.Text & "' , " SQL = SQL & "'" & Me.txtdatatarefa.Text & "' , " SQL = SQL & "'" & Me.txttarhora.Text & "')" Set rsTarefas.ActiveConnection = cnAgenda cnAgenda.Execute SQL LimpaTarefas Verifica_Tarefas MsgBox "Cadastro de tarefa efetuado com sucesso" Call ExibeTarefas GridEX6.Refresh End Sub Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 raphael_suporte Postado Abril 23, 2009 Denunciar Share Postado Abril 23, 2009 Hum.. que bom, e acabei descobrindo que funciona com a "/" e com a data naquele formato... beleza...nem tinha me atentando no nextval..:P Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Leandro_Pirozzi
Boa tarde galera, alguém já viu esse erro?
Acontece quando vou cadastrar uma tarefa no BD do ORACLE.
Obrigado.
Private Sub cmdcadtarefa_Click(Index As Integer)
txttarempresa.Text = txtempresa.Text
txttarequipe.Text = cboequipe.Text
Dim SQL As String
If Not Verifica_Tarefas Then
MsgBox "Campo obrigatório vazio, favor verificar.", vbInformation, "Atenção"
Exit Sub
End If
Set rsTarefas = New ADODB.Recordset
SQL = "INSERT INTO CONTATOS_AGENDA "
SQL = SQL & "(ID_AGENDA, CODEMP, ASSESSOR, EQUIPE, TAREFA, EMPRESA, CONTATO, DATATAREFA, HORA)"
SQL = SQL & "VALUES (incremento_ID_AGENDA, '" & Me.txtcodemp.Text & "','" & Me.txtassessor.Text & "','" & Me.txttarequipe.Text & "','" & Me.txttarefa.Text & "', "
SQL = SQL & "'" & Me.txttarempresa.Text & "' , "
SQL = SQL & "'" & Me.txttarcont.Text & "' , "
SQL = SQL & "'" & Me.txtdatatarefa.Text & "','" & Me.txttarhora.Text & "')"
Set rsTarefas.ActiveConnection = cnAgenda
cnAgenda.Execute SQL 'aqui é exibido o erro.
LimpaTarefas
Verifica_Tarefas
MsgBox "Cadastro de tarefa efetuado com sucesso"
Call ExibeTarefas
GridEX6.Refresh
End Sub
Link para o comentário
Compartilhar em outros sites
11 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.