Ir para conteúdo
Fórum Script Brasil
  • 0

Outro Problema Na Hora Do Bd...


Ghosty

Pergunta

eu n consigo saber qual é o problema nessa minha inserção no bd!!! acredito que seja nas aspas, porque eu entendo como funcionam essas aspas simples e duplas..

olhem o codigo ai

Set objConn =  Server.CreateObject("ADODB.Connection")
objConn.Open "DBQ=" & Server.MapPath("/c/invbd.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}","username","password"
strQuery = "INSERT INTO pedido (nomerep,nomecli,cnpj,data,check,nome,loja,emb) VALUES ('"&nomerep&"','"&nomecli&"','"&cnpj&"','"&data&"','"&check&"','"&nome&"','"&loja&"','"&emb&"')"
On error Resume Next
Set ObjRs = objConn.Execute(strQuery)
objConn.close
Set objRs = Nothing
Set objConn = Nothing
if err = 0 Then
	response.redirect "sucesso.asp"
end if

n da erro nenhum so simplesmente n insere nada no bd e n redireciona pra pagina de sucesso! dry.gif

Link para o comentário
Compartilhar em outros sites

14 respostass a esta questão

Posts Recomendados

  • 0

tenta dando espaço antes e depois do (&) como eu fiz... e verifica se as variáveis (nomerep, nomecli... etc) que estás a colocar tem valor!!!

Set objConn =  Server.CreateObject("ADODB.Connection")
objConn.Open "DBQ=" & Server.MapPath("/c/invbd.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}","username","password"
strQuery = "INSERT INTO pedido (nomerep,nomecli,cnpj,data,check,nome,loja,emb) VALUES ('" & nomerep & "','" & nomecli & "','" & cnpj & "','" & data & "','" & check & "','" & nome & "','" & loja & "','" & emb & "')"
On error Resume Next
Set ObjRs = objConn.Execute(strQuery)
objConn.close
Set objRs = Nothing
Set objConn = Nothing
if err = 0 Then
response.redirect "sucesso.asp"
end if

Link para o comentário
Compartilhar em outros sites

  • 0

por favor me digam qual é o problema!! eu acho q é nas aspas porque eu n entendo nada dessas aspas simples duplas... se alguém puder me explicar eu ficaria muito feliz! laugh.gif

ai vai o codigo:::

Set objConn =  Server.CreateObject("ADODB.Connection")
objConn.Open "DBQ=" & Server.MapPath("/c/invbd.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}","username","password"
strQuery = "INSERT INTO pedido (nomerep,nomecli,cnpj,data,check,nome,loja,emb) VALUES ('"&nomerep&"','"&nomecli&"','"&cnpj&"','"&data&"','"&check&"','"&nome&"','"&loja&"','"&emb&"')"
On error Resume Next
Set ObjRs = objConn.Execute(strQuery)
objConn.close
Set objRs = Nothing
Set objConn = Nothing
if err = 0 Then
	response.redirect "sucesso.asp"
end if

n da erro nenhum a uniaca coisa q acontece é q n insere nada no bd e n redireciona pra pagina de sucesso.asp...

valeu!

Link para o comentário
Compartilhar em outros sites

  • 0

tenta dando espaço antes e depois do (&) como eu fiz... e verifica se as variáveis (nomerep, nomecli... etc) que estás a colocar tem valor!!!

Set objConn =  Server.CreateObject("ADODB.Connection")
objConn.Open "DBQ=" & Server.MapPath("/c/invbd.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}","username","password"
strQuery = "INSERT INTO pedido (nomerep,nomecli,cnpj,data,check,nome,loja,emb) VALUES ('" & nomerep & "','" & nomecli & "','" & cnpj & "','" & data & "','" & check & "','" & nome & "','" & loja & "','" & emb & "')"
On error Resume Next
Set ObjRs = objConn.Execute(strQuery)
objConn.close
Set objRs = Nothing
Set objConn = Nothing
if err = 0 Then
response.redirect "sucesso.asp"
end if

Link para o comentário
Compartilhar em outros sites

  • 0

Bem, tente assim:

'conecta ao banco

url_conexao = Server.MapPath("banco.mdb")

set conexao = Server.CreateObject("ADODB.Connection")

conexao.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&url_conexao

'cria o sql

sql = "INSERT INTO pedido (nomerep,nomecli,cnpj,data,check,nome,loja,emb) VALUES ('" & nomerep & "','" & nomecli & "','" & cnpj & "','" & data & "','" & check & "','" & nome & "','" & loja & "','" & emb & "')"

'executa o sql

conexao.execute(sql)

'redireciona

response.redirect "sucesso.asp"

fiz um basico .. veja se este executa e insere ..

Link para o comentário
Compartilhar em outros sites

  • 0

brother..

eu coloquei a tua string de conexão no lugar da q eu tava usando e deu isso ai:

Microsoft OLE DB Provider for ODBC Drivers error '80040e07' 

[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression. 

/c/enviarbd.asp, line 73 

bah eu n pensei qui fosse tão difícil... sad.gif

se você souber o q tah acontecendo...

o server tah tranquilo porque tem um outro formulario q eu n tenho acesso q tah funcionando sem problemas..

Link para o comentário
Compartilhar em outros sites

  • 0

Sim, é tipo de dados incompativeis!

COmo estao setados os campos no seu banco?

Todos são TEXTO?

Ou algum deles tem o tipo de dados NUMERO, ou DATA?

Do modo que você criou o SQL, é para campos TEXTO. Portanto, se algum campo estiver definido para algum outro tipo, dará o erro que você viu aí!

Como estao os campos?

Link para o comentário
Compartilhar em outros sites

  • 0

Por favor, não crie vários topicos iguais.

Vou juntar este aqui ào seu outro tópico, para não perder as respostas deste tópico.

Criar Vários Topicos iguais, é considerado FLOOD. E não é permitido aqui. Caso continue, terei de comunicar à administração do Fórum!

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

Desculpa brother é q eu criei um e tive q sair ai um colega meu veio usar o computador e deu um voltar (ai foi pra pagina de edição do tópico) então eu achei q tinha esquecido de postar e reformulei a pergunta e então postei denovo!

peço desculpas novamente e realmente a minha intenção n foi fazer flood...

voltando a dúvida...

os campos n sou todos texto tem um q é data e outro q é numero e outro q é memorando, mas eu n declarei nenhuma variavel como do tipo texto e acho q nem tem como fazer isto...

por favor você poderia me explicar como isso funciona??

valeu!!

Link para o comentário
Compartilhar em outros sites

  • 0

Desculpa brother é q eu criei um e tive q sair ai um colega meu veio usar o computador e deu um voltar (ai foi pra pagina de edição do tópico) então eu achei q tinha esquecido de postar e reformulei a pergunta e então postei denovo!

peço desculpas novamente e realmente a minha intenção n foi fazer flood...

Tá desculpado! Se foi sem querer, tudo bem, acontece.

os campos n sou todos texto tem um q é data e outro q é numero e outro q é memorando, mas eu n declarei nenhuma variavel como do tipo texto e acho q nem tem como fazer isto...

por favor você poderia me explicar como isso funciona??

valeu!!

Bem, o que diferencia, é no modo que as aspas são tratadas dentro do SQL.

Entenda:

- Campo TEXTO: ' " & variavel & " ' ,

- Campo NUMERO: " & variavel & " ,

- Campo DATA: " & variavel & " ,

- Campo MEMO: ' " & variavel & " ' ,

Como pode ver, em numero e data, não vai a aspa simples.

E nos outros vai.

Apenas altere seu codigo, conforme seu caso, e rode de novo

Ate mais

Link para o comentário
Compartilhar em outros sites

  • 0

hehe

é isso aí ..

Se precisar, poste aí

abraços

Link para o comentário
Compartilhar em outros sites

  • 0

Outra maneira para você nunca se perder é imaginar que a string de conexão é um texto que você concatena com varáveis. Toda vez que você começa ou termina o texto tem que colocar aspas duplas.....

Por exemplo:

"SELECT * FROM TB_CLIENTE WHERE COD = '" & VARIAVEL_CODIGO & "'"

ONDE VARIAVEL_CODIGO É DO TIPO CARACTER, POR ISSO A NECESSIDADE DE ASPAS SIMPLES...

Espero ter te ajudado..

t+

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...