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

Salvando vários registros de uma só vez


evertonviana

Pergunta

Bem pessoal,

A ideia é a seguinte: Em uma empresa que faz manutenção em equipamentos de informatica, é necessário fazer um acompanhamento das maquinas que já foram "verificadas". Então fiz um formulário para listar todas as maquinas ativas do cliente, listando os seguintes campos:

  • Código do cliente
  • Código do equipamento

Esses campos são lidos do BD em MySQL e listados um em baixo do outro, junto dos campos para preenchimento do usuário:

  • Campo Checkbox -> Para o técnico marcar se esse equipamento já passou pela verificação
  • Campo Ocorrencia

Agora o problema: Se eu selecionar 1 equipamento da lista(Selecionando o Checkbox), preencher as informações de ocorrência e salvar, sem problemas os dados são salvos no BD. Porem se eu marcar mais de um equipamento, recebo o seguinte erro:


Microsoft OLE DB Provider for ODBC Drivers erro '80040e21'

O driver ODBC não oferece suporte para as propriedades solicitadas.

/workstation/os/preventiva/salva_preventiva_nova.asp, linha 36

Código do formulário:


<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%><HTML>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<%
'recupera codigo do cliente
cod_cli = session("cod_cli")


'Conexão MYSQL - Cadastro de Inventario
Set Conex = Server.CreateObject("ADODB.Connection")
Conex.ConnectionString = "DSN=inv_cli"
Conex.Open


'Conexão MYSQL - Cadastro de OS
Set Conex2 = Server.CreateObject("ADODB.Connection")
Conex2.ConnectionString = "DSN=os"
Conex2.Open


'Abro conexão com a base e tabelas alvo
sql = "select * from inventario where codigo = "&cod_cli&" and situacao_equip = 'Ativo'"
Set mostra = Server.CreateObject("ADODB.Recordset")
mostra.CursorLocation = 3
mostra.open sql, conex, 3,3


'Salva no Banco de Dados 
sql2 = "select * from reg_preventiva"
Set salva = Server.CreateObject("ADODB.Recordset")
salva.open sql2, conex2, 3,3


'Contamos quantos registros foram selecionados
Inventario = mostra.Recordcount


%>


 <style type="text/css"><!--
   .header {font-family:Tahoma, sans-serif; font-size: 12px; COLOR:#2FFFFF; padding-left:10; padding-right:5; font-weight:900 }
   .text {font-family:Tahoma,sans-serif; font-size: 11px; color:#ffffff; padding-left:20; padding-right:10 }
   .text2 {font-family:Verdana,sans-serif; font-size: 10px; color:#ffffff; padding-left:20; padding-right:10 }
    .news {font-family:Arial, sans-serif; font-size: 9px; color:#ffffff; padding-left:10; padding-right:5; font-weight:900; }
   a:link{text-decoration: none; color:#004FDF}
  a:visited{text-decoration: none; color: #004FDF}
  a:hover{text-decoration: underline; color: #004FDF}
  a:active{text-decoration: none; color: #004FDF}
li {
list-style-image:url('images/pic.jpg')
}


--></style>


</HEAD>
<BODY BGCOLOR=#FFFFFF>
  <script language="JavaScript">
//Fun&ccedil;&atilde;o para abrir janelas pop-up
function janela(popupfile,winheight,winwidth)
{
open(popupfile,"PopupWindow","resizable=no,height=" + winheight + ",width=" + winwidth + ",scrollbars=no");
}
  </script>
          <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1">
            <tr>
              <td width="99%"><b><font face="Arial" color="#FFAA00">&nbsp;</font><font face="Arial" color="#0E2850">- 
              Equipamentos Encontrados:</font><font face="Tahoma" size="2"> <%=inventario%><br>
&nbsp;</font><font face="Arial" size="3" color="#0E2850">- Selecione os 
              equipamentos que a rotina está sendo realizada</font><font face="Tahoma" size="2"><br>
              </font><font face="Arial" color="#0E2850">________________________________________________________________</font></b><form method="POST" action="salva_preventiva_nova.asp" name="Preventiva">
                <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" height="108">
                  <tr>
                   <%while not mostra.eof%>
                    <td width="21%" height="20">
                    <font face="Tahoma" style="font-size: 9pt; font-weight: 700" color="#0E2850">
                    Preventiva efetuada? </font>
                    <input type="checkbox" name="preventiva" value="<%=(mostra.Fields.Item("id").Value)%>"></td>
                    <td width="17%" height="20">
                    <font face="Tahoma" style="font-size: 9pt; font-weight: 700" color="#0E2850">
                    Cod. Cliente:</font></td>
                    <td width="29%" height="20">
                    <font face="Tahoma" style="font-size: 9pt; font-weight: 700" color="#0E2850">
                    Equipamento:</font></td>
                    <td width="58%" height="20">
                    <font face="Tahoma" style="font-size: 9pt; font-weight: 700" color="#0E2850">
                    Ocorrência</font></td>
                  </tr>
                  <tr>
                    <td width="21%" height="69">&nbsp;</td>
                    <td width="17%" height="69" valign="top">
                    <input type="text" name="cod_cli<%=(mostra.Fields.Item("id").Value)%>" size="20" value="<%=(mostra.Fields.Item("codigo").Value)%>"></td>
                    <td width="29%" height="69" valign="top">
                    <input type="text" name="equipamento<%=(mostra.Fields.Item("id").Value)%>" size="20" value="<%=(mostra.Fields.Item("equipamento").Value)%>"></td>
                    <td width="58%" height="69">
                    <textarea rows="4" name="ocorrencia<%=(mostra.Fields.Item("id").Value)%>" cols="29"></textarea></td>
                  </tr>
                  <tr>
                    <td width="92%" colspan="3" height="19"><b><font face="Arial" color="#0E2850">________________________________________________________________</font></b></td>
                  </tr>
                  <%
            salva.addnew
  salva("preventiva") = "N"
  salva("cod_cli") =mostra("codigo")
       salva("equipamento") = mostra("equipamento")
  salva("contador") = "1"
             salva.update
                   %>
         <%mostra.movenext
wend%>
                </table>
                <p align="left">
                &nbsp;<b><font face="Arial" color="#FF0000">ATENÇÃO:</font></b>
                <b><font face="Arial" color="#0E2850" size="2">Após o envio do 
                formulário não será possível edição das preventivas enviadas!</font></b></p>
                <p align="center">
                <input type="submit" value="Enviar preventiva" name="B1"></p>
              </form>
              <p>&nbsp;</td>
              <td width="1%">
          &nbsp;</td>
            </tr>
          </table>
        <!-- End ImageReady Slices -->
        </BODY>
</HTML>

Código da pagina que salva os dados:



<% 
'---------------------------------------------------------------------------------------------
'recupera codigo do cliente
cod_cli = session("cod_cli")
'---------------------------------------------------------------------------------------------
'Conexão MYSQL - Cadastro de Inventario
Set Conex = Server.CreateObject("ADODB.Connection")
Conex.ConnectionString = "DSN=inv_cli"
Conex.Open


'Conexão MYSQL - Cadastro de OS
Set Conex2 = Server.CreateObject("ADODB.Connection")
Conex2.ConnectionString = "DSN=os"
Conex2.Open


'Conexão MYSQL - Cadastro de clientes
Set Conex3 = Server.CreateObject("ADODB.Connection")
Conex3.ConnectionString = "DSN=cad_cli"
Conex3.Open
'---------------------------------------------------------------------------------------------
'Define o momento de abertura
data_inclusao = date()
hora_inclusao = time()


'Define Responsavel pela preventiva
responsavel = session("login_work1")
'---------------------------------------------------------------------------------------------
'Recupera estado do Checkbox
preventiva = request("preventiva" & id)


IF preventiva <> "" THEN


'Abro conexão com a base e tabelas de inventario
sql = "select ID from inventario where id = "&id
Set mostra = Server.CreateObject("ADODB.Recordset")
mostra.open sql, conex, 3,3
'---------------------------------------------------------------------------------------------


'Rotina de repetição
While Not mostra.EOF


   id = mostra("id")
   cod_cli = Request("cod_cli" & id)
   equipamento = Request("equipamento" & id)
   ocorrencia = request("ocorrencia" & id)
'---------------------------------------------------------------------------------------------


'Salva no Banco de Dados
sql2 = "select * from reg_preventiva"
Set salva = Server.CreateObject("ADODB.Recordset")
salva.open sql2, conex2, 3,3


salva("preventiva") = "S"
salva("cod_cli") = cod_cli
salva("equipamento") = equipamento
salva("ocorrencia") = ocorrencia
salva("data") = data_inclusao
salva("hora") = hora_inclusao
salva("contador") = "1"
salva("responsavel") = responsavel
salva.update


salva.close
set salva = nothing 


   mostra.MoveNext
Wend


END IF
'---------------------------------------------------------------------------------------------
'Salva o respectivo numero cotnador no cadastro do cliente, para consulta e atualização


'Salva contador
sql3 = "select * from cad_cli_p1 where codigo = "&cod_cli&""
Set salva2 = Server.CreateObject("ADODB.Recordset")
salva2.open sql3, conex3, 3,3


salva2("cont_preventivas") = "1"
salva2.update


salva2.close
set salva2 = nothing 
'---------------------------------------------------------------------------------------------
'Redireciona para uma pagina de agradecimento e confirmação
response.Write("<html><head><title>"&titulo_site&"</title><meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'></head><body><style type='text/css'><!--a:link{text-decoration: none; color:#004FDF}a:visited{text-decoration: none; color: #004FDF}a:hover{text-decoration: underline; color: #004FDF}a:active{text-decoration: none; color: #004FDF}--></style><table width='100%' height='100%'><tr><td><table align='center'><tr><td><div align='center'><font color='#000000' size='1' face='Verdana, Arial, Helvetica, sans-serif'>Manutenções preventivas selecionadas foram salvas!!<br><br><a href='#' onClick='javaScript:window.close()'>Fechar </a><BR><BR></font><br></div></td></tr></table></td></tr></table></body></html>")


'Finaliza conexão com Banco de Dados
conex.close
conex2.close
conex3.close
%>
Link para o comentário
Compartilhar em outros sites

1 resposta 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.

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,5k
×
×
  • Criar Novo...