webber Postado Março 31, 2008 Denunciar Share Postado Março 31, 2008 Pessoal, será que alguém pode me ajudar? Não consigo enviar os dados do formulário para o BD. O erro que dá é:Microsoft OLE DB Provider for ODBC Drivers error '80040e07'[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression./bioetica/enviar.asp, line 48Sendo que a linha 48 é oSet strCadInscritos = Conexao.Execute (strQuery)Segue o script todo:<%@ Language=VBScript %><!--#Include File = "adovbs.inc"--><%'Recebe campos do formularioDia = Cstr(Request.Form ("txtDia"))Nome = Cstr(Request.Form ("txtNome"))Cracha = Cstr(Request.Form ("txtCracha"))Endereco = Cstr(Request.Form ("txtEndereco"))Bairro = Cstr(Request.Form ("txtBairro"))Prefixo = Cstr(Request.Form ("txtPrefixo"))Telefone = Cstr(Request.Form ("txtTelefone"))Email = Cstr(Request.Form ("txtEmail"))Profissao = Cstr(Request.Form ("txtProfissao"))Pastoral = Cstr(Request.Form ("txtPastoral"))Area = Cstr(Request.Form ("txtArea"))'Conecta com o BancoSet Conexao = Server.CreateObject ("Adodb.Connection")strCaminho = "DBQ=e:\home\scorcelli1\dados\dados.mdb"Conexao.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & strCaminho'comando SQL de InclusaostrQuery = "INSERT INTO tblInscritos"strQuery = strQuery + " (Dia, Nome, Cracha, Endereco, Bairro, Prefixo, Telefone, Email, Profissao, Pastoral, Area)"strQuery = strQuery + " VALUES ('"+Dia+"', "strQuery = strQuery + " '"+Nome+"', "strQuery = strQuery + " '"+Cracha+"', "strQuery = strQuery + " '"+Endereco+"', "strQuery = strQuery + " '"+Bairro+"', "strQuery = strQuery + " '"+Prefixo+"', "strQuery = strQuery + " '"+Telefone+"', "strQuery = strQuery + " '"+Email+"', "strQuery = strQuery + " '"+Profissao+"', "strQuery = strQuery + " '"+Pastoral+"', "strQuery = strQuery + " '"+Area+"' ) "Set strCadInscritos = Conexao.Execute (strQuery)'se tudo Ok redirecionaResponse.Redirect ("resposta.html")'fechando conexoesSet strCadInscritos = NothingConexao.Close%> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 jow Postado Março 31, 2008 Denunciar Share Postado Março 31, 2008 (editado) cara olha essa minha conexão via DSN que fiz :conexão.asp<%dim cnnsub abre_conectarset cnn=server.CreateObject("adodb.connection")cnn.open "MGB" end subsub fecha_conectar cnn.close Set cnn = nothingend sub %>inserir.asp<!--#include file="config/conexao.asp"--><%call abre_conectarnome=request.Form("nome")titulo=request.Form("titulo")noticia=request.Form("noticia")autor=request.Form("autor")sql = "insert into cadastro (nome, titulo, noticia, autor)"sql = sql & " values ('" & nome & "', '" & titulo & "', '" & noticia & "', '" & autor & "')"set tab = cnn.execute(sql) call fecha_conectarset tab = nothing%>A sua conexão aparentemente está correta, mas dá uma olhada no caminho do banco de dados e verifica se está correto ...Está conexão aki é bem aparecida com a sua :::<% conexao="DBQ=C:\Inetpub\wwwroot\ASP_exemplos\login\senha.mdb;Driver={Microsoft Access Driver (*.mdb)}"Set DB = Server.CreateObject("ADODB.Connection")DB.Open conexao %> Editado Março 31, 2008 por jow Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 webber Postado Março 31, 2008 Autor Denunciar Share Postado Março 31, 2008 Olá! Testei o caminho usando o <% = Request.ServerVariables("APPL_PHYSICAL_PATH") %>Verifiquei que está correto! Por que será que o erro ocorre?? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 jow Postado Março 31, 2008 Denunciar Share Postado Março 31, 2008 cara como eu te disse é melhor você fazer a sua conexão DSN eu acho bemn mais fácil, talves porque eu uso o Banco de dados MySql hehe, mas você q sabe cara ... então. você poderia dá uma verificada no nome dos seus campos do formulário e acessar o banco de dados e copiar o caminho e colar na sua conexão.se estiver tudo OK dá um response.write (strQuery)e posta o erro aí ... Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
webber
Pessoal, será que alguém pode me ajudar? Não consigo enviar os dados do formulário para o BD. O erro que dá é:
Microsoft OLE DB Provider for ODBC Drivers error '80040e07'
[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.
/bioetica/enviar.asp, line 48
Sendo que a linha 48 é o
Set strCadInscritos = Conexao.Execute (strQuery)
Segue o script todo:
<%@ Language=VBScript %>
<!--#Include File = "adovbs.inc"-->
<%
'Recebe campos do formulario
Dia = Cstr(Request.Form ("txtDia"))
Nome = Cstr(Request.Form ("txtNome"))
Cracha = Cstr(Request.Form ("txtCracha"))
Endereco = Cstr(Request.Form ("txtEndereco"))
Bairro = Cstr(Request.Form ("txtBairro"))
Prefixo = Cstr(Request.Form ("txtPrefixo"))
Telefone = Cstr(Request.Form ("txtTelefone"))
Email = Cstr(Request.Form ("txtEmail"))
Profissao = Cstr(Request.Form ("txtProfissao"))
Pastoral = Cstr(Request.Form ("txtPastoral"))
Area = Cstr(Request.Form ("txtArea"))
'Conecta com o Banco
Set Conexao = Server.CreateObject ("Adodb.Connection")
strCaminho = "DBQ=e:\home\scorcelli1\dados\dados.mdb"
Conexao.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & strCaminho
'comando SQL de Inclusao
strQuery = "INSERT INTO tblInscritos"
strQuery = strQuery + " (Dia, Nome, Cracha, Endereco, Bairro, Prefixo, Telefone, Email, Profissao, Pastoral, Area)"
strQuery = strQuery + " VALUES ('"+Dia+"', "
strQuery = strQuery + " '"+Nome+"', "
strQuery = strQuery + " '"+Cracha+"', "
strQuery = strQuery + " '"+Endereco+"', "
strQuery = strQuery + " '"+Bairro+"', "
strQuery = strQuery + " '"+Prefixo+"', "
strQuery = strQuery + " '"+Telefone+"', "
strQuery = strQuery + " '"+Email+"', "
strQuery = strQuery + " '"+Profissao+"', "
strQuery = strQuery + " '"+Pastoral+"', "
strQuery = strQuery + " '"+Area+"' ) "
Set strCadInscritos = Conexao.Execute (strQuery)
'se tudo Ok redireciona
Response.Redirect ("resposta.html")
'fechando conexoes
Set strCadInscritos = Nothing
Conexao.Close
%>
Link para o comentário
Compartilhar em outros sites
3 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.