Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

DJ W

Update com erro

Recommended Posts

E ai galera, beleza?Fiz um código para dar update numa tabela que tem os seguintes camposidtipo_evento data_adddata_iniciodata_finalhorariocidadelocal publicotitulodata_inscricaodetalhesTodos os valores são informados num form que tem o action para o script abaixo:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%><%Session.LCID = 1046'VariáveisDim evento'Efetuando a conexão com a base de dados criada -----------------------'Conexão ao bancoSet conn = Server.CreateObject("ADODB.Connection")conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("..\hhp.mdb")'Recuperando os dadostipo_evento = request.Form("tipo_evento")data = Day(Now) & "/" & Month(Now) & "/"& Year(Now)data_inicio = Cdate(request.form("data_inicio"))if request.form("data_final")= "" Then   data_final = Cdate(request.form("data_inicio"))   else   data_final = Cdate(request.form("data_final"))End if   horario = request.form("horario")cidade = request.form("cidade")local = request.form("local")publico = request.form("publico")titulo = request.form("titulo")data_inscricao = request.form("data_inscricao")detalhes = request.Form("detalhes")evento = request.QueryString("id")'Criando o SQL   SQLstmt = "UPDATE eventos "   SQLStmt = SQLstmt & "SET tipo_evento='" & tipo_evento & "',"   SQLStmt = SQLstmt & " data_add='" & data & "',"   SQLstmt = SQLstmt & " local='" & local & "',"   SQLStmt = SQLstmt & " data_inicio='" & data_inicio & "',"   SQLstmt = SQLstmt & " data_final='" & data_final & "',"    SQLstmt = SQLstmt & " horario='" & horario & "', "    SQLstmt = SQLstmt & " cidade='" & cidade & "', "    SQLstmt = SQLstmt & " publico='" & publico & "',"    SQLstmt = SQLstmt & " titulo='" & titulo & "',"    SQLstmt = SQLstmt & "data_inscricao='" & data_inscricao & "',"    SQLstmt = SQLstmt & "detalhes='" & detalhes & "' "    SQLStmt = SQLStmt & " WHERE id=" & request.QueryString("id")  ' response.write SQLStmt            conn.Execute(SQLStmt)

beleza ...Se for feito da forma acima dá erro

Microsoft JET Database Engine error '80040e14' Syntax error in UPDATE statement. /adm/altera_evento.asp, line 79

Se tiro a seguinte linha do SQL criado o update é feito sem problemas

   SQLstmt = SQLstmt & " local='" & local & "',"

O campo na tabela é do tipo texto.Já fiz um response.write para verificar como estava o SQL e esta com o dado informado no formAlguém saberia o que está errado???Agradeço desde já qualquer ajuda....[]`sWescley

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala ai gastaoNão acredito que seja problema com o formato de data, pois se retiro a linha que mencionei atualiza sem problemas no banco.Os campos de data estão como data/hora sendo data abreviada.O response.write exibi isso:

UPDATE eventos SET tipo_evento='Outros', data_add='11/8/2004', local='Sheraton Barra' data_inicio='11/08/04', data_final='15/08/04', horario='10:00', cidade='Rio de Janeiro', publico='Gerentes de Área', titulo='Teste',data_inscricao='01/08/04',detalhes='Detalhes do evento ' WHERE id=29

Valeu pela ajuda[]`sWescley

Compartilhar este post


Link para o post
Compartilhar em outros sites

ASP [/tr][tr]UPDATE eventos SET tipo_evento='Outros', data_add='11/8/2004', local='Sheraton Barra' data_inicio='11/08/04', data_final='15/08/04', horario='10:00', cidade='Rio de Janeiro', publico='Gerentes de Área', titulo='Teste',data_inscricao='01/08/04',detalhes='Detalhes do evento ' WHERE id=29 [/tr]

 

 

repare bem no negrito que nao tem uma virgula entre eles...

Compartilhar este post


Link para o post
Compartilhar em outros sites

E ai gastao....Infelizmente não era isso....Acabei postando sem a virgula mesmo, pois testei retirando todos os campos abaixo do local e tinha tirado a virgula por ele ter ficado como o último antes do where..... :rolleyes: Coloquei a virgula e nada.... :o Valeu a ajuda...[]`sWescley

Compartilhar este post


Link para o post
Compartilhar em outros sites

hehehe....Coisas do além....o pior que não posso descartar este campo....Vou tentar fazer outros testes aqui ....Valeu pela tentativa....[]`sWescley

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpem a insistência, mas alguém teria alguma outra sugestão???Agradeço desde já...[]`sWescley

Compartilhar este post


Link para o post
Compartilhar em outros sites

você diz q o erro eh sempre nessa linha ne.. q caca...

SQLstmt = SQLstmt & " local='" & local & "',"

 

tenta fazer assim...

SQLstmt = SQLstmt & " local='teste',"

ve se passa... se naum passar.... você diz q o campo eh texto....

você usa access... entaum renomeia o campo para local_2

salva a tabela... tenta rodar.. vai dar erro..falanddo q campo naum existe...

 

ai você vai no access e cria uma nova coluna com o nome local.. e naum renomeia denovo.. ok...

 

falow

ska in the house....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala ai ska_ska, beleza?Tentei as suas sugestões ....mas não mudou em nada... :blink: Continua da mesma forma...se tiro o campo funciona.... :wacko: Valeu a tentativa...Continuo precisando de uma ajuda....Agradeço desde jáWescley

Compartilhar este post


Link para o post
Compartilhar em outros sites

carai.. zuadim.. ehehhe...

 

primeiro tenta rodar assim...

SQLstmt = SQLstmt & " local=1,"

se funcionar eh q seu campo naum eh texto... ai fode ne..huahuha

 

mas você disse q ja viu isso.. mas soh pra desencargo...

 

e tb tenta mudar o campo de nome (local para local_2) e na sql tb.. muda pra local_2.. e o texto, poe pra naum vir mais da variavel.. poe pra vir manual.. e confere pra ver se o campo eh texto mesmo e o limite de caracteres...

 

:huh:

Compartilhar este post


Link para o post
Compartilhar em outros sites

E ai ska_ska....Fiz os passos que você sugeriu...Os primeiros não deram certo mas ao mudar o nome do campo na tabela para local_2 .....FUNCIONOU!!!!!!!Putz vai explicar .....Só que deu o seguinte erro:

Erro de cabeçalho /adm/altera_evento.asp, line 196 Os cabeçalhos HTTP já estão gravados no navegador cliente. Quaisquer modificações no cabeçalho HTTP devem ser feitas antes de gravar o conteúdo da página.

A linha 196 é essa:

Response.Redirect("lista_eventos.asp")

Valeu a ajuda...[]`sWescley

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já descobri o que esqueci

Response.Buffer = true

Isso significa q os dados da pagina so vao aparecer quando a pagina estiver totalmente carregada e ai você pode dar response.redirect aonde você quiser no seu codigo...Valeu a ajuda[]`sWescley

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.