Ir para conteúdo

POWERED BY:

Arquivado

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

marcelinho

pq sera que da esse erro??

Recommended Posts

deu erro de sintaxe pq tirou as aspas simples acho que foi por isso

Tipo de erro:Microsoft JET Database Engine (0x80040E14)Erro de sintaxe (operador faltando) na expressão de consulta '19:40'./proenglishidiomas/cadastros/programas/processaCadastroHorario.asp, line 55

olha o codigo SQL:

nSQL = "INSERT INTO tbCadastro_Programas_dias (idprograma,segunda,terca,quarta,quinta,sexta,sabado " &_   ",segunda_hora_inicio,segunda_hora_termino,terca_hora_inicio,terca_hora_termino,quarta_hora_inicio " &_   ",quarta_hora_termino,quinta_hora_inicio,quinta_hora_termino,sexta_hora_inicio,sexta_hora_termino " &_   ",sabado_hora_inicio,sabado_hora_termino) VALUES (" & nID & ",'" & nSegunda &_ 	 "','" & nTerca & "', '" & nQuarta & "', '" & nQuinta & "', '" & nSexta & "' , '" & nSabado &_    "'," & nSegunda_hora_inicio & "," & nSegunda_hora_termino & "," & nTerca_hora_inicio &_     "," & nTerca_hora_termino & "," & nQuarta_hora_inicio & "," & nQuarta_hora_termino &_      "," & nQuinta_hora_inicio & "," & nQuinta_hora_termino & "," & nSexta_hora_inicio &_       "," & nSexta_hora_termino & "," & nSabado_hora_inicio & "," & nSabado_hora_termino & ")"

e os teste olha como ta:

 

if nSegunda_hora_inicio = "" then nSegunda_hora_inicio = null 	if nSegunda_hora_termino = "" then nSegunda_hora_termino = null 	if nTerca_hora_inicio = "" then nTerca_hora_inicio = null 	if nTerca_hora_termino = "" then nTerca_hora_termino = null	if nQuarta_hora_inicio = "" then nQuarta_hora_inicio = null	if nQuarta_hora_termino = "" then nQuarta_hora_termino = null	if nQuinta_hora_inicio = "" then nQuinta_hora_inicio = null 	if nQuinta_hora_termino = "" then nQuinta_hora_termino = null	if nSexta_hora_inicio = "" then nSexta_hora_inicio = null 	if nSexta_hora_termino = "" then nSexta_hora_termino = null	if nSabado_hora_inicio = "" then nSabado_hora_inicio = null	if nSabado_hora_termino = "" then nSabado_hora_termino = null

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode montar a SQL de consulta por parte e se não tiver valor você não poeoumontar o valor a ser inserido tipo assimif nSabado_hora_termino = "" thennSabado_hora_termino = nullelsenSabado_hora_termino = "'" & nSabado_hora_termino & "'"end ife lá no insert fica sempre sem aspas...

Compartilhar este post


Link para o post
Compartilhar em outros sites

mario

 

eu montei do jeito que você falou e puis a SQL de insert assim:

 

ASP

[*] nSQL "INSERT INTO tbCadastro_Programas_dias (idprograma,segunda,terca,quarta,quinta,sexta,sabado " &_

 

[*]  ",segunda_hora_inicio,segunda_hora_termino,terca_hora_inicio,terca_hora_term

ino,quarta_hora_inicio " &_

 

[*]  ",quarta_hora_termino,quinta_hora_inicio,quinta_hora_termino,sexta_hora_inic

io,sexta_hora_termino " &_

 

[*]  ",sabado_hora_inicio,sabado_hora_termino) VALUES (" & nID & ",'" & nSegunda &_

 

[*] "','" & nTerca & "', '" & nQuarta & "', '" & nQuinta & "', '" & nSexta & "' , '" & nSabado &_

 

[*]  "', nSegunda_hora_inicio , nSegunda_hora_termino , nTerca_hora_inicio "&_

 

[*] ", nTerca_hora_termino , nQuarta_hora_inicio , nQuarta_hora_termino "&_

 

[*]  ", nQuinta_hora_inicio , nQuinta_hora_termino , nSexta_hora_inicio "&_

 

[*] ", nSexta_hora_termino , nSabado_hora_inicio , nSabado_hora_termino )"

 

so que na hora de ver a SQL la no Browser ele ficcou assim ó

 

INSERT INTO tbCadastro_Programas_dias (idprograma,segunda,terca,quarta,quinta,sexta,sabado ,segunda_hora_inicio,segunda_hora_termino,terca_hora_inicio,terca_hora_termino,quarta_hora_inicio ,quarta_hora_termino,quinta_hora_inicio,quinta_hora_termino,sexta_hora_inicio,sexta_hora_termino ,sabado_hora_inicio,sabado_hora_termino) VALUES (43,'N','S', 'N', 'N', 'S' , 'N', nSegunda_hora_inicio , nSegunda_hora_termino , nTerca_hora_inicio , nTerca_hora_termino , nQuarta_hora_inicio , nQuarta_hora_termino , nQuinta_hora_inicio , nQuinta_hora_termino , nSexta_hora_inicio , nSexta_hora_termino , nSabado_hora_inicio , nSabado_hora_termino )
e eu tentei de todos os jeitos pra funfar ela mais nao deu certo nao sei pq!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara vou fazer um exemplo generico aqui

 

vou inserir dois campos de data que podem ou não estar preenchidos...

 

data1 = request("data1")

IF data1<>"" THEN

aqui estou colocando as aspas pra não precisar colocar no insert

data1 = "'" & data1 & "'"

ELSE

data1 = null

END IF

 

pra data2 faz a mesma coisa

 

data2 = request("data2")

IF data2<>"" THEN

aqui estou colocando as aspas pra não precisar colocar no insert

data2 = "'" & data2 & "'"

ELSE

data2 = null

END IF

 

ai na hora do insert você poe apenas os valores separados por virgula

 

se tiver que ter aspas simples você já colocou lá em cima

 

"INSERT INTO TABELA (data1,data2) VALUES (" & data1 & "," & data2 & ")"

Compartilhar este post


Link para o post
Compartilhar em outros sites

fiz do jeito que você ta dizendo ai e testei ele deu erro de sintaxe no insert

 

a linha do SQL ficou assim:

INSERT INTO tbCadastro_Programas_di[color[color=orange]=green]as (idprograma,segunda,terca,quarta,quinta,sexta,sabado ,segunda_hora_inicio,segunda_hora_termino,terca_hora_inicio,terca_hora_termino,q
uarta_hora_inicio ,quarta_hora_termino,quinta_hora_inicio,quinta_hora_termino,sexta_hora_inicio,se
xta_hora_termino ,sabado_hora_inicio,sabado_hora_termino) VALUES (46,'S','N', 'N', 'S', 'N' , 'N','19:00','20:00' ,,, ,,'19:00','20:00',,, ,)

 

e os teste na variavel ficou do jeito que você fez :

 

ASP

[*] if nSabado_hora_termino "" then

 

[*]  nSabado_hora_termino = null

 

[*] else

 

[*]  nSabado_hora_termino =  "'"[/color] & nSabado_hora_termino & "'"[/color]

 

[*] end if

 

pq o que o usuario ta inserindo é hora...e no banco ta hora abreviada (ex 19:00)

e ta sempre dando erro...eu nao to entendendo o pq!!eu sei que ja to enchendo saco foi mal ae, mais é so isso que falta no sistema

Compartilhar este post


Link para o post
Compartilhar em outros sites

marcelinho, eu disse para voce fazer isso:

 

campos = ""valores = ""sql = "INSERT INTO tbCadastro_Programas_dias (idprograma" if nSegunda_hora_inicio <> "" then   campos = campos & ", segunda"   valores = valores & ", '" & nSegunda & "'"end if' voce faz um if para cada dia ou hora, somando os campos e valoressql = sql & campos & ") values (" & nId & valores & ")"Response.Write sql

abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara ficaram varios campos sem valores

 

veja a quantidade de virgulas em seu insert

 

aquela validação

 

ASP

    [*] if nSabado_hora_termino "" then

     

    [*]

     

    [*]  nSabado_hora_termino = null

     

    [*]

     

    [*] else

     

    [*]

     

    [*]  nSabado_hora_termino =  "'" & nSabado_hora_termino & "'"

     

    [*]

     

    [*] end if

 

tem de ser feita pra todos os campos de datahora

 

se for texto sempre tem de ter as aspas

Compartilhar este post


Link para o post
Compartilhar em outros sites

mais mario eu fiz para todos os campos de datahora eu so puis uma aqui mais eu fiz pra todos por isso que eu nao entendi!!!pq eu tenho 6 campos do tipo texto onde esta normal..com aspas e tudoai vem os datahora que esta todos como você tinha me dito ai deu erro de sintaxe!!e o que o fabricio falou eu vou tentar fazer tbm so que eu nao entendi direito!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

os tipo texto sempre vão ter aspas ou seja você pode fazer um pouco diferente pra estes camposvocê pode colocar as aspas lá no insert ou pra não confundir colocar antes tbcampotexto = "'" & request("campo") & "'"você que escolhe...mas se for texto no minimo tem que ter as aspas entre as virgulas

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.