evertonviana Posted July 4, 2011 Report Share Posted July 4, 2011 Bom dia! Galera, por favor analisem o codigo que colocarei abaixo e me digam onde existe algo de incorreto. Já comparei, revisei e não encontro nada que justifique o erro Exceção: 'salva.Update' na linha 82.<% '----------------------------------------------- 'Recupera sessions codigo = session("codigo") nome = session("nome") telefone1 = session("telefone1") telefone2 = session("telefone2") telefone3 = session("telefone3") cnpj = session("cnpj") endereco = session("endereco") resp_contrato = session("resp_contrato") email = session("email") tipo_contrato = session("tipo_contrato") data_inicio = session("data_inicio") custo_equipamento = session("custo_equipamento") Equipamento = session("Equipamento") valor_inicial = session("valor_inicial") encarregado = session("encarregado") cod_encarregado = session("cod_encarregado") Equipamentos_todos = session("Equipamentos_todos") objetivo = session("objetivo") servicos = session("servicos") cobertura = session("cobertura") atendimento = session("atendimento") horas = session("horas") prazos = session("prazos") comp_cobertos = session("comp_cobertos") valor = session("valor") programas = session("programas") inventario = session("inventario") gestao_ti = session("gestao_ti") responsabilidades = session("responsabilidades") foro = session("foro") n_contrato = session("n_contrato") operador = session("login_user") '----------------------------------------------- 'Conexão MYSQL - Cadastro de contratos Set Conex = Server.CreateObject("ADODB.Connection") Conex.ConnectionString = "DSN=contratos" Conex.Open 'Salva no Banco de Dados Set salva = Server.CreateObject("ADODB.Recordset") sql = "select * from contratos" salva.open sql, Conex, 3,3 salva.AddNew salva("cod_cli") = codigo salva("nome") = nome salva("tel1") = telefone1 salva("tel2") = telefone2 salva("tel3") = telefone3 salva("cnpj") = cnpj salva("endereco") = endereco salva("resp_contrato") = resp_contrato salva("email") = email salva("tipo_contrato") = tipo_contrato salva("data_inicio") = data_inicio salva("custo_equipamento") = custo_equipamento salva("qnt_equipamentos") = Equipamento salva("valor_inicial") = valor_inicial salva("encarregado") = encarregado salva("cod_encarregado") = cod_encarregado salva("lista_equipamentos") = Equipamentos_todos salva("objetivo") = objetivo salva("servicos") = servicos salva("cobertura") = cobertura salva("atendimento") = atendimento salva("horas") = horas salva("prazos") = prazos salva("comp_cobertos") = comp_cobertos salva("valor") = valor salva("programas") = programas salva("inventario") = inventario salva("gestao_ti") = gestao_ti salva("responsabilidades") = responsabilidades salva("foro") = foro salva("n_contrato") = n_contrato salva("status") = "Pendente" salva("operador") = operador salva.Update salva.close set salva = nothing '----------------------------------------------- 'Depois de salvar no BD, limpa a session que contem o valor por maquina, para limpar p/ o próximo cadastro session("custo_equipamento") = 0 '----------------------------------------------- 'Redireciona Response.Redirect"imprime_contrato_11101.asp" conex.close %> Quote Link to comment Share on other sites More sharing options...
0 bareta Posted July 4, 2011 Report Share Posted July 4, 2011 como você não faz a verificação contra registros duplicados. por que não usar insert ?sql="insert into tabela (campo,campo) values ('"&var1&"','"&var2&"')" Quote Link to comment Share on other sites More sharing options...
0 evertonviana Posted July 4, 2011 Author Report Share Posted July 4, 2011 como você não faz a verificação contra registros duplicados. por que não usar insert ?sql="insert into tabela (campo,campo) values ('"&var1&"','"&var2&"')"Fala bareta!Ok, posso tentar aqui, mas até mesmo para não aconter isso no futuro, porque do erro? O que me causa estranhesa, é o fato de todos os outros arquivos que fazem as mesmas operações em minha aplicação, estão exatamente dessa maneira, eu verifiquei minuciosamente cada parte do arquivo e não notei nada diferente...Vou testar e aviso, mas se puder me explciar o motivo, fico grato! Quote Link to comment Share on other sites More sharing options...
0 kuroi Posted July 6, 2011 Report Share Posted July 6, 2011 mas qual a mensagem do erro?? somente "excecao"?? Quote Link to comment Share on other sites More sharing options...
0 evertonviana Posted July 6, 2011 Author Report Share Posted July 6, 2011 mas qual a mensagem do erro?? somente "excecao"??Boa tarde, Amigo! Sim, o erro é somente esse. Tem um codigo de erro acima, mas tenho quase que 100% de certeza que não serviria de nada: Erro de tempo de execução do Microsoft VBScript erro '800a01fb' Exceção: 'salva.Update' Quote Link to comment Share on other sites More sharing options...
0 kuroi Posted July 7, 2011 Report Share Posted July 7, 2011 hum... mas se você diz q os outros codigos funcionaram, então imagino q nesse arquivo, algum dado invalido esteja sendo passado pra algum campo do recordset, por isso o erro. por exemplo, num campo q for data você não esta passando uma data valida. ou você esta passando texto num valor numerico. ou você não esta preenchendo algum campo q esteja setado como obrigatorio. ou você esta passando um texto maior q o tamanho do campo.o problema vai ser descobrir qual o campo exatamente q esta com problema, já q são mtos... Quote Link to comment Share on other sites More sharing options...
0 evertonviana Posted July 7, 2011 Author Report Share Posted July 7, 2011 hum... mas se você diz q os outros codigos funcionaram, então imagino q nesse arquivo, algum dado invalido esteja sendo passado pra algum campo do recordset, por isso o erro. por exemplo, num campo q for data você não esta passando uma data valida. ou você esta passando texto num valor numerico. ou você não esta preenchendo algum campo q esteja setado como obrigatorio. ou você esta passando um texto maior q o tamanho do campo.o problema vai ser descobrir qual o campo exatamente q esta com problema, já q são mtos...É tentei o procedimento passado pelo Bareta, mas não rolou! Vou tentar identificar o que você falou acima, vlw pela ajuda... Quote Link to comment Share on other sites More sharing options...
0 evertonviana Posted July 19, 2011 Author Report Share Posted July 19, 2011 (edited) Galera, desculpe a demora...Hoje, pude retomar meu projeto e como na ultima postagem, fui tentando esmiuçar tanto o BD quanto a pagina em ASP e realmente não identifiquei problemas, que foram sugeridos pelo KUROI. Porem notei um ponto muito estranho, vejam o teste que fiz: Deletei a Tabela que estou tentando operar>Criei novamente e fui criando campo a campo e cada vez que criava um novo campo, fazia um novo teste de inserção, utilizando o mesmo codigo com o .addnew e .Update. Consegui ir bem até a linha salva("atendimento") = atendimento, porem após ela o erro novamente é apresentado. Pensei "Opa, achei o problema!", porem não foi assim que aconteceu, notei logo depois que seja qual for o campo após salva("cobertura") = cobertura, o erro acontece. O que me leva a seguinte duvida(na qual acho que talvez o tópico será mudado de Forum), Será que o MySQL tem um limite de operações como essa?O que acham? Edited July 19, 2011 by evertonviana Quote Link to comment Share on other sites More sharing options...
0 kuroi Posted July 21, 2011 Report Share Posted July 21, 2011 O que me leva a seguinte duvida(na qual acho que talvez o tópico será mudado de Forum), Será que o MySQL tem um limite de operações como essa?hum... é possivel... se você já verificou mesmo os tipos de campos, então acho q você vai ter q fazer mesmo uma string de insert como disse o bareta. exemplo:'Conexão MYSQL - Cadastro de contratosSet Conex = Server.CreateObject("ADODB.Connection")Conex.ConnectionString = "DSN=contratos"Conex.Opensql = "Insert Into contratos (campo1, campo2) Values ('" & valor1 & "', '" & valor2 & "')"Conex.Execute(sql)[/code] Quote Link to comment Share on other sites More sharing options...
0 evertonviana Posted July 22, 2011 Author Report Share Posted July 22, 2011 sql = "Insert Into contratos (campo1, campo2) Values ('" & valor1 & "', '" & valor2 & "')" Conex.Execute(sql) Fala Kuroi! Pois é ontem no final do expediente, fiz esse teste, porem dessa vez o resultado foi outro(Não sei se pelo fato de ter mudado recentemente de servidor, pois agora estou operando em um IIS7). Recebi o seguinte erro: [MySQL][ODBC 5.1 Driver][mysqld-5.1.51-community]Incorrect date value: '19/01/2011' for column 'data_inicio' at row 1 E sinceramente começo a pensar: "Cara, não tem outro jeito vou ter que fazer um curso de MySql pra entender essas doideiras...", pois realmente é doideira isso pra mim, pois tenho sei lá, 100 arquivos que fazem esse procedimento de inserção na BD, todos então identicos a esse arquivo e não sei porque o valor '19/01/2011' esta incorreto...Ta brabo esse problema! Quote Link to comment Share on other sites More sharing options...
0 kuroi Posted July 22, 2011 Report Share Posted July 22, 2011 esse erro aparece usando o codigo anterior com o salva.Update(), ou com a string do insert?? o campo esta como data mesmo no banco (datetime, timestamp, etc)??se for no salva.Update(), use a funcao CDate() pra convertar o texto pra data, assim ele tera certeza de q é uma data:salva("data_inicio") = CDate(data_inicio)se for na string do insert, eu recomendo sempre, não importa qual banco de dados q você esteja usando, q grave a data no formato YYYY-MM-DD (com tracinho mesmo em vez de barra), nunca vi esse formato dar problemas. Quote Link to comment Share on other sites More sharing options...
0 bareta Posted July 22, 2011 Report Share Posted July 22, 2011 no mysql so aceita YYYY-MM-DD. http://fuila.net/7Mai tem q faze a função pra converterFunction persona_data(data) persona_data=year(data)&"-"&month(data)&"-"&day(data) end function response.write "data atual="&persona_data(now()) Quote Link to comment Share on other sites More sharing options...
Question
evertonviana
Bom dia!
Galera, por favor analisem o codigo que colocarei abaixo e me digam onde existe algo de incorreto. Já comparei, revisei e não encontro nada que justifique o erro Exceção: 'salva.Update' na linha 82.
Link to comment
Share on other sites
11 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.