1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Pausa antes de executar o Response.Redirect

Discussão em 'Web Development' iniciada por peter alien, 13 de Dezembro de 2007. (Respostas: 7; Visualizações: 1186)

  1. peter alien

    peter alien Power Member

    O código seguinte mostra a informação introduzida anteriormente num formulario, e depois executa um Response.Redirect para evitar que o utilizador utilize o botão BACK para voltar ao formulário preenchido.
    O problema é que eu queria criar uma pausa para o utilizador ver os dados anteriormente introduzidos, mas o servidor executa logo o Response.Redirect apesar de eu ter tentado criar uma pausa de 20 segundos.

    Podem-me dar uma ajudinha.


    O código é o seguinte:


    PHP:

    <%@ Page Language="VB" ContentType="text/html" ResponseEncoding="iso-8859-1" %>
    <%@ 
    Import Namespace="System.Data" %>
    <%@ 
    Import Namespace="System.Data.OleDb" %>
    <
    script language="vb" runat="server">
     
    Sub Pausa (Tempo As Double)
      
    'Executa uma pausa na Aplicação.
      '
    Tempo => tempo da pausa (segundos).
      
    'Timer => é uma função do VB que retorna o número de segundos desde a meia-noite.
      Dim Inicio As Double
      Dim Check  As Double
      Dim Contador As Double
      Inicio = Timer
      Check = 0
      Contador = Timer
      Do Until Check >= (Inicio + Tempo)
       Check = Timer
      Loop
      Response.Redirect("Pedido.aspx")
     End Sub
    </script>
    <html>
     <head>
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
      <style type=text/css>
       html {
             scrollbar-base-color: #FFFFFF;
             scrollbar-arrow-color: #011B8E;
             scrollbar-3dlight-color: #CCCCCC;
             scrollbar-darkshadow-color: #999999;
             scrollbar-face-color: #FFFFFF;
             scrollbar-highlight-color: #FFFFFF;
             scrollbar-shadow-color: #FFFFFF;
             scrollbar-track-color: #FFFFFF;
            }
      </style>
     </head>
     <body>
      <img align="right" src="Imagens/OpPedidoInspeccao.jpg">
      <br><br><br>
      <span style="color:#FF6600; text-decoration:underline; font-size:14px">
       <b>OS DADOS PROCESSADOS FORAM OS SEGUINTES:</b>
      </span>
      <p>
       <span style="color:#6A6D96; font-size:14px">
        <%
         response.write("Data do Pedido: "+request.form("dataactual")+"<br>")
         response.write("Nome (Requerente): "+request.form("nome")+"<br>")
         response.write("Morada (Requerente): "+request.form("morada")+"<br>")
         response.write("Código Postal (Requerente): "+request.form("codpostal1")+"-"+request.form("codpostal2")+"  "+request.form("localidade")+"<br>")
         response.write("Telefone (Requerente): "+request.form("telefone")+"<br>")
         response.write("Telemóvel (Requerente): "+request.form("telemovel")+"<br>")
         response.write("E-mail (Requerente): "+request.form("email")+"<br>")
         response.write("Tipo de Inspecção: "+request.form("tipodeinspeccao")+"<br>")
         response.write("Tipo de Instalação: "+request.form("tipodeinstalacao")+"<br>")
         response.write("Morada (Inspecção): "+request.form("moradainsp")+"<br>")
         response.write("Código Postal (Inspecção): "+request.form("codpostal1insp")+"-"+request.form("codpostal2insp")+"  "+request.form("localidadeinsp")+"<br>")
         response.write("Data Preferencial: "+request.form("datapreferencial")+"<br>")
         Rem Grava a informação introduzida na Form, na BD em Access.
         Rem Query SQL que servirá para inserir na BD Access os dados introduzidos na Form.
         Dim SQLString as string
         Dim S1 as string
         Dim S2 as string
         S1 = Request.Form("codpostal1") & "-" & Request.Form("codpostal2") & " " & Request.Form("localidade")
         S2 = Request.Form("codpostal1insp") & "-" & Request.Form("codpostal2insp") & " " & Request.Form("localidadeinsp")
         SQLString = "INSERT INTO Pedidos_de_Inspeccao (Data_de_Entrada_do_Pedido_de_Inspeccao, Nome_do_Requerente, Morada_do_Requerente, CodPostal_do_Requerente, Telefone_do_Requerente, Telemovel_do_Requerente, Email_do_Requerente, Tipo_de_Inspeccao, Tipo_de_Instalacao, Morada_da_Inspeccao, CodPostal_da_Inspeccao, DataPreferencial_Inspeccao)"
         SQLString = SQLString & "VALUES ('" & Request.Form("
    dataactual") & "','" & Request.Form("nome") & "','" & Request.Form("morada") & "','" & S1 & "','" & Request.Form("telefone") & "','" & Request.Form("telemovel") & "','" & Request.Form("email") & "','" & Request.Form("tipodeinspeccao") & "','" & Request.Form("tipodeinstalacao") & "','" & Request.Form("moradainsp") & "','" & S2 & "','" & Request.Form("datapreferencial") & "')"
         Rem A Conexão à Fonte de Dados é feita usando o Provedor OleDB.
         Dim DBConn as New OleDBConnection ("Provider=Microsoft.Jet.OLEDB.4.0; Ole DB Services=-4; Data Source=C:\Inetpub\wwwroot\Pedidos.mdb")
         Rem Cria um Objecto OleDbCommand.
         Rem Passa os parâmetros para um Objecto OleDbCommand.
         Dim DBComm as New OleDbCommand
         DBComm.Connection = DBConn
         DBComm.CommandText = SQLString
         Rem Cria e passa os dados para Objectos OleDbParameter.
         Rem *****
         Dim DBParam_Data_de_Entrada_do_Pedido_de_Inspeccao as new OleDbParameter
         DBParam_Data_de_Entrada_do_Pedido_de_Inspeccao.ParameterName = "@Data_de_Entrada_do_Pedido_de_Inspeccao"
         DBParam_Data_de_Entrada_do_Pedido_de_Inspeccao.Value = Request.Form("dataactual")
         DBParam_Data_de_Entrada_do_Pedido_de_Inspeccao.DbType = DbType.String
         DBComm.Parameters.Add(DBParam_Data_de_Entrada_do_Pedido_de_Inspeccao)
         Rem *****
         Dim DBParam_Nome_do_Requerente as new OleDbParameter
         DBParam_Nome_do_Requerente.ParameterName = "@Nome_do_Requerente"
         DBParam_Nome_do_Requerente.Value = Request.Form("nome")
         DBParam_Nome_do_Requerente.DbType = DbType.String
         DBComm.Parameters.Add(DBParam_Nome_do_Requerente)
         Rem *****
         Dim DBParam_Morada_do_Requerente as new OleDbParameter
         DBParam_Morada_do_Requerente.ParameterName = "@Morada_do_Requerente"
         DBParam_Morada_do_Requerente.Value = Request.Form("morada")
         DBParam_Morada_do_Requerente.DbType = DbType.String
         DBComm.Parameters.Add(DBParam_Morada_do_Requerente)
         Rem *****
         Dim DBParam_CodPostal_do_Requerente as new OleDbParameter
         DBParam_CodPostal_do_Requerente.ParameterName = "@CodPostal_do_Requerente"
         DBParam_CodPostal_do_Requerente.Value = Request.Form("codpostal1") & "-" & Request.Form("codpostal2") & " " & Request.Form("localidade")
         DBParam_CodPostal_do_Requerente.DbType = DbType.String
         DBComm.Parameters.Add(DBParam_CodPostal_do_Requerente)
         Rem *****
         Dim DBParam_Telefone_do_Requerente as new OleDbParameter
         DBParam_Telefone_do_Requerente.ParameterName = "@Telefone_do_Requerente"
         DBParam_Telefone_do_Requerente.Value = Request.Form("telefone")
         DBParam_Telefone_do_Requerente.DbType = DbType.String
         DBComm.Parameters.Add(DBParam_Telefone_do_Requerente)
         Rem *****
         Dim DBParam_Telemovel_do_Requerente as new OleDbParameter
         DBParam_Telemovel_do_Requerente.ParameterName = "@Telemovel_do_Requerente"
         DBParam_Telemovel_do_Requerente.Value = Request.Form("telemovel")
         DBParam_Telemovel_do_Requerente.DbType = DbType.String
         DBComm.Parameters.Add(DBParam_Telemovel_do_Requerente)
         Rem *****
         Dim DBParam_Email_do_Requerente as new OleDbParameter
         DBParam_Email_do_Requerente.ParameterName = "@Email_do_Requerente"
         DBParam_Email_do_Requerente.Value = Request.Form("email")
         DBParam_Email_do_Requerente.DbType = DbType.String
         DBComm.Parameters.Add(DBParam_Email_do_Requerente)
         Rem *****
         Dim DBParam_Tipo_de_Inspeccao as new OleDbParameter
         DBParam_Tipo_de_Inspeccao.ParameterName = "@Tipo_de_Inspeccao"
         DBParam_Tipo_de_Inspeccao.Value = Request.Form("tipodeinspeccao")
         DBParam_Tipo_de_Inspeccao.DbType = DbType.String
         DBComm.Parameters.Add(DBParam_Tipo_de_Inspeccao)
         Rem *****
         Dim DBParam_Tipo_de_Instalacao as new OleDbParameter
         DBParam_Tipo_de_Instalacao.ParameterName = "@Tipo_de_Instalacao"
         DBParam_Tipo_de_Instalacao.Value = Request.Form("tipodeinstalacao")
         DBParam_Tipo_de_Instalacao.DbType = DbType.String
         DBComm.Parameters.Add(DBParam_Tipo_de_Instalacao)
         Rem *****
         Dim DBParam_Morada_da_Inspeccao as new OleDbParameter
         DBParam_Morada_da_Inspeccao.ParameterName = "@Morada_da_Inspeccao"
         DBParam_Morada_da_Inspeccao.Value = Request.Form("moradainsp")
         DBParam_Morada_da_Inspeccao.DbType = DbType.String
         DBComm.Parameters.Add(DBParam_Morada_da_Inspeccao)
         Rem *****
         Dim DBParam_CodPostal_da_Inspeccao as new OleDbParameter
         DBParam_CodPostal_da_Inspeccao.ParameterName = "@CodPostal_da_Inspeccao"
         DBParam_CodPostal_da_Inspeccao.Value =  Request.Form("codpostal1insp") & "-" & Request.Form("codpostal2insp") & " " & Request.Form("localidadeinsp")
         DBParam_CodPostal_da_Inspeccao.DbType = DbType.String
         DBComm.Parameters.Add(DBParam_CodPostal_da_Inspeccao)
         Rem *****
         Dim DBParam_DataPreferencial_Inspeccao as new OleDbParameter
         DBParam_DataPreferencial_Inspeccao.ParameterName = "@DataPreferencial_Inspeccao"
         DBParam_DataPreferencial_Inspeccao.Value = Request.Form("datapreferencial")
         DBParam_DataPreferencial_Inspeccao.DbType = DbType.String
         DBComm.Parameters.Add(DBParam_DataPreferencial_Inspeccao)
         Rem A Conexão vai ser aberta.
         DBConn.Open()
         Rem Altera o conteúdo de uma BD sem precisar de se recorrer a um Dataset.
         DBComm.ExecuteNonQuery()
         Rem A Conexão vai ser fechada.
         DBConn.Close()
        %>
       </span>
      </p>
      <span style="color:#6666FF; font-size:14px">
       <center><b>O Pedido de Inspecção foi Enviado com Sucesso</b></center>
      </span>
      <span style="color:#FF9900; font-size:14px">
       <center><b>Entraremos em Contacto o Mais Brevemente Possível</b></center>
      </span>
      <%
       Call Pausa(20)
      %>
     </body>
    </html>

     
  2. RicardoMoreira

    RicardoMoreira Power Member

    Para que serve ai a variavel Contador?

    Não percebo para quê tanta linha de código quando basta usar o threading.thread.sleep
     
  3. peter alien

    peter alien Power Member

    upsss... foi uma coisa que eu tinha estado a experimentar anteriormente... (esqueci-me de apagar) ... sorry.

    O threading.thread.sleep permite criar uma pausa de x segundos?
     
  4. SoundSurfer

    SoundSurfer Power Member

    Não faças isso do lado do servidor, não é boa ideia mandar fazer sleep às threads do ASP.NET.

    Faz em Javascript.
     
  5. peter alien

    peter alien Power Member

    pois... e também a coisa não resultou na mesma :(

    o resultado foi o mesmo em relação ao código que já tinha postado :(


    Depois fiz uma function em javascript, para depois de x segundos correr o Response.Redirect, mas a pagina insiste em arrancar logo com o Response.Redirect e não mostra primeiro os dados :(
     
  6. peter alien

    peter alien Power Member

    a não ser que tenha feito alguma coisa mal! Como é que fazia isso em Javascript, SoundSurfer?


    Este é o código actual do ficheiro aspx:

    PHP:

    <%@ Page Language="VB" ContentType="text/html" ResponseEncoding="iso-8859-1" %>
    <%@ 
    Import Namespace="System.Data" %>
    <%@ 
    Import Namespace="System.Data.OleDb" %>
    <
    html>
     <
    head>
      <
    meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
      <
    style type=text/css>
       
    html {
             
    scrollbar-base-color#FFFFFF;
             
    scrollbar-arrow-color#011B8E;
             
    scrollbar-3dlight-color#CCCCCC;
             
    scrollbar-darkshadow-color#999999;
             
    scrollbar-face-color#FFFFFF;
             
    scrollbar-highlight-color#FFFFFF;
             
    scrollbar-shadow-color#FFFFFF;
             
    scrollbar-track-color#FFFFFF;
            
    }
      </
    style>
     </
    head>
     <
    body>
      <
    img align="right" src="Imagens/OpPedidoInspeccao.jpg">
      <
    br><br><br>
      <
    span style="color:#FF6600; text-decoration:underline; font-size:14px">
       <
    b>OS DADOS PROCESSADOS FORAM OS SEGUINTES:</b>
      </
    span>
      <
    p>
       <
    span style="color:#6A6D96; font-size:14px">
        <%
         
    response.write("Data do Pedido: "+request.form("dataactual")+"<br>")
      
    response.write("Nome (Requerente): "+request.form("nome")+"<br>")
         
    response.write("Morada (Requerente): "+request.form("morada")+"<br>")
         
    response.write("Código Postal (Requerente): "+request.form("codpostal1")+"-"+request.form("codpostal2")+"  "+request.form("localidade")+"<br>")
      
    response.write("Telefone (Requerente): "+request.form("telefone")+"<br>")
      
    response.write("Telemóvel (Requerente): "+request.form("telemovel")+"<br>")
      
    response.write("E-mail (Requerente): "+request.form("email")+"<br>")
      
    response.write("Tipo de Inspecção: "+request.form("tipodeinspeccao")+"<br>")
      
    response.write("Tipo de Instalação: "+request.form("tipodeinstalacao")+"<br>")
      
    response.write("Morada (Inspecção): "+request.form("moradainsp")+"<br>")
      
    response.write("Código Postal (Inspecção): "+request.form("codpostal1insp")+"-"+request.form("codpostal2insp")+"  "+request.form("localidadeinsp")+"<br>")
      
    response.write("Data Preferencial: "+request.form("datapreferencial")+"<br>")
         
    Rem Grava a informação introduzida na Formna BD em Access.
         
    Rem Query SQL que servirá para inserir na BD Access os dados introduzidos na Form.
         
    Dim SQLString as string
      Dim S1 
    as string
      Dim S2 
    as string
      S1 
    Request.Form("codpostal1") & "-" Request.Form("codpostal2") & " " Request.Form("localidade")
      
    S2 Request.Form("codpostal1insp") & "-" Request.Form("codpostal2insp") & " " Request.Form("localidadeinsp")
         
    SQLString "INSERT INTO Pedidos_de_Inspeccao (Data_de_Entrada_do_Pedido_de_Inspeccao, Nome_do_Requerente, Morada_do_Requerente, CodPostal_do_Requerente, Telefone_do_Requerente, Telemovel_do_Requerente, Email_do_Requerente, Tipo_de_Inspeccao, Tipo_de_Instalacao, Morada_da_Inspeccao, CodPostal_da_Inspeccao, DataPreferencial_Inspeccao)"
         
    SQLString SQLString "VALUES ('" Request.Form("dataactual") & "','" Request.Form("nome") & "','" Request.Form("morada") & "','" S1 "','" Request.Form("telefone") & "','" Request.Form("telemovel") & "','" Request.Form("email") & "','" Request.Form("tipodeinspeccao") & "','" Request.Form("tipodeinstalacao") & "','" Request.Form("moradainsp") & "','" S2 "','" Request.Form("datapreferencial") & "')"
         
    Rem A Conexão à Fonte de Dados é feita usando o Provedor OleDB.
         
    Dim DBConn as New OleDBConnection ("Provider=Microsoft.Jet.OLEDB.4.0; Ole DB Services=-4; Data Source=C:\Inetpub\wwwroot\Pedidos.mdb")
         
    Rem Cria um Objecto OleDbCommand.
         
    Rem Passa os parâmetros para um Objecto OleDbCommand.
         
    Dim DBComm as New OleDbCommand
         DBComm
    .Connection DBConn
         DBComm
    .CommandText SQLString
         Rem Cria e passa os dados para Objectos OleDbParameter
    .
         
    Rem *****
         
    Dim DBParam_Data_de_Entrada_do_Pedido_de_Inspeccao as new OleDbParameter
         DBParam_Data_de_Entrada_do_Pedido_de_Inspeccao
    .ParameterName "@Data_de_Entrada_do_Pedido_de_Inspeccao"
         
    DBParam_Data_de_Entrada_do_Pedido_de_Inspeccao.Value Request.Form("dataactual")
         
    DBParam_Data_de_Entrada_do_Pedido_de_Inspeccao.DbType DbType.String
         DBComm
    .Parameters.Add(DBParam_Data_de_Entrada_do_Pedido_de_Inspeccao)
         
    Rem *****
         
    Dim DBParam_Nome_do_Requerente as new OleDbParameter
         DBParam_Nome_do_Requerente
    .ParameterName "@Nome_do_Requerente"
         
    DBParam_Nome_do_Requerente.Value Request.Form("nome")
         
    DBParam_Nome_do_Requerente.DbType DbType.String
         DBComm
    .Parameters.Add(DBParam_Nome_do_Requerente)
         
    Rem *****
         
    Dim DBParam_Morada_do_Requerente as new OleDbParameter
         DBParam_Morada_do_Requerente
    .ParameterName "@Morada_do_Requerente"
         
    DBParam_Morada_do_Requerente.Value Request.Form("morada")
         
    DBParam_Morada_do_Requerente.DbType DbType.String
         DBComm
    .Parameters.Add(DBParam_Morada_do_Requerente)
         
    Rem *****
         
    Dim DBParam_CodPostal_do_Requerente as new OleDbParameter
         DBParam_CodPostal_do_Requerente
    .ParameterName "@CodPostal_do_Requerente"
         
    DBParam_CodPostal_do_Requerente.Value Request.Form("codpostal1") & "-" Request.Form("codpostal2") & " " Request.Form("localidade")
         
    DBParam_CodPostal_do_Requerente.DbType DbType.String
         DBComm
    .Parameters.Add(DBParam_CodPostal_do_Requerente)
         
    Rem *****
         
    Dim DBParam_Telefone_do_Requerente as new OleDbParameter
         DBParam_Telefone_do_Requerente
    .ParameterName "@Telefone_do_Requerente"
         
    DBParam_Telefone_do_Requerente.Value Request.Form("telefone")
         
    DBParam_Telefone_do_Requerente.DbType DbType.String
         DBComm
    .Parameters.Add(DBParam_Telefone_do_Requerente)
         
    Rem *****
         
    Dim DBParam_Telemovel_do_Requerente as new OleDbParameter
         DBParam_Telemovel_do_Requerente
    .ParameterName "@Telemovel_do_Requerente"
         
    DBParam_Telemovel_do_Requerente.Value Request.Form("telemovel")
         
    DBParam_Telemovel_do_Requerente.DbType DbType.String
         DBComm
    .Parameters.Add(DBParam_Telemovel_do_Requerente)
         
    Rem *****
         
    Dim DBParam_Email_do_Requerente as new OleDbParameter
         DBParam_Email_do_Requerente
    .ParameterName "@Email_do_Requerente"
         
    DBParam_Email_do_Requerente.Value Request.Form("email")
         
    DBParam_Email_do_Requerente.DbType DbType.String
         DBComm
    .Parameters.Add(DBParam_Email_do_Requerente)
         
    Rem *****
         
    Dim DBParam_Tipo_de_Inspeccao as new OleDbParameter
         DBParam_Tipo_de_Inspeccao
    .ParameterName "@Tipo_de_Inspeccao"
         
    DBParam_Tipo_de_Inspeccao.Value Request.Form("tipodeinspeccao")
         
    DBParam_Tipo_de_Inspeccao.DbType DbType.String
         DBComm
    .Parameters.Add(DBParam_Tipo_de_Inspeccao)
         
    Rem *****
         
    Dim DBParam_Tipo_de_Instalacao as new OleDbParameter
         DBParam_Tipo_de_Instalacao
    .ParameterName "@Tipo_de_Instalacao"
         
    DBParam_Tipo_de_Instalacao.Value Request.Form("tipodeinstalacao")
         
    DBParam_Tipo_de_Instalacao.DbType DbType.String
         DBComm
    .Parameters.Add(DBParam_Tipo_de_Instalacao)
         
    Rem *****
         
    Dim DBParam_Morada_da_Inspeccao as new OleDbParameter
         DBParam_Morada_da_Inspeccao
    .ParameterName "@Morada_da_Inspeccao"
         
    DBParam_Morada_da_Inspeccao.Value Request.Form("moradainsp")
         
    DBParam_Morada_da_Inspeccao.DbType DbType.String
         DBComm
    .Parameters.Add(DBParam_Morada_da_Inspeccao)
         
    Rem *****
         
    Dim DBParam_CodPostal_da_Inspeccao as new OleDbParameter
         DBParam_CodPostal_da_Inspeccao
    .ParameterName "@CodPostal_da_Inspeccao"
         
    DBParam_CodPostal_da_Inspeccao.Value =  Request.Form("codpostal1insp") & "-" Request.Form("codpostal2insp") & " " Request.Form("localidadeinsp")
         
    DBParam_CodPostal_da_Inspeccao.DbType DbType.String
         DBComm
    .Parameters.Add(DBParam_CodPostal_da_Inspeccao)
         
    Rem *****
         
    Dim DBParam_DataPreferencial_Inspeccao as new OleDbParameter
         DBParam_DataPreferencial_Inspeccao
    .ParameterName "@DataPreferencial_Inspeccao"
         
    DBParam_DataPreferencial_Inspeccao.Value Request.Form("datapreferencial")
         
    DBParam_DataPreferencial_Inspeccao.DbType DbType.String
         DBComm
    .Parameters.Add(DBParam_DataPreferencial_Inspeccao)
         
    Rem A Conexão vai ser aberta.
         
    DBConn.Open()
         
    DBComm.ExecuteNonQuery()
         
    Rem A Conexão vai ser fechada.
         
    DBConn.Close()
        %>
       </
    span>
      </
    p>
      <
    span style="color:#6666FF; font-size:14px">
       <
    center><b>O Pedido de Inspecção foi Enviado com Sucesso</b></center>
      </
    span>
      <
    span style="color:#FF9900; font-size:14px">
       <
    center><b>Entraremos em Contacto o Mais Brevemente Possível</b></center>
      </
    span>
      <% 
    Response.Redirect("PedidoDeInspeccao.aspx") %>
     </
    body>
    </
    html>

     
    Última edição: 14 de Dezembro de 2007
  7. SkylineGTR

    SkylineGTR Power Member

    Não tem nada a ver com a questão do tópico, mas uma dúvida:

    Porque é que estás a criar parameters se não os estás a usar?
    Pelo que vejo estás a embutir directamente no insert os valores que queres inserir..


    Já agora, esse código pode ser bastante optimizado para produzir menos linhas como por exemplo:

    Código:
    SQLString = "INSERT INTO Pedidos_de_Inspeccao (Data_de_Entrada_do_Pedido_de_Inspeccao, Nome_do_Requerente, Morada_do_Requerente, CodPostal_do_Requerente, Telefone_do_Requerente, Telemovel_do_Requerente, Email_do_Requerente, Tipo_de_Inspeccao, Tipo_de_Instalacao, Morada_da_Inspeccao, CodPostal_da_Inspeccao, DataPreferencial_Inspeccao)" 
    SQLString = SQLString & "VALUES ('" & Request.Form("dataactual") & "','" & Request.Form("nome") & "','" & Request.Form("morada") & "','" & S1 & "','" & Request.Form("telefone") & "','" & Request.Form("telemovel") & "','" & Request.Form("email") & "','" & Request.Form("tipodeinspeccao") & "','" & Request.Form("tipodeinstalacao") & "','" & Request.Form("moradainsp") & "','" & S2 & "','" & Request.Form("datapreferencial") & "')" 
     
    Dim DBConn as New OleDBConnection ("Provider=Microsoft.Jet.OLEDB.4.0; Ole DB Services=-4; Data Source=C:\Inetpub\wwwroot\Pedidos.mdb") 
    Dim DBComm as New OleDbCommand 
     
    DBComm.Connection = DBConn 
     
    DBComm.CommandText = SQLString 
    Dim DBParam_Data_de_Entrada_do_Pedido_de_Inspeccao as new OleDbParameter 
    DBParam_Data_de_Entrada_do_Pedido_de_Inspeccao.ParameterName = "@Data_de_Entrada_do_Pedido_de_Inspeccao" 
    DBParam_Data_de_Entrada_do_Pedido_de_Inspeccao.Value = Request.Form("dataactual") 
    DBParam_Data_de_Entrada_do_Pedido_de_Inspeccao.DbType = DbType.String 
    DBComm.Parameters.Add(DBParam_Data_de_Entrada_do_Pedido_de_Inspeccao) 
    

    Por:
    Código:
    Dim DBConn as New OleDBConnection ("Provider=Microsoft.Jet.OLEDB.4.0; Ole DB Services=-4; Data Source=C:\Inetpub\wwwroot\Pedidos.mdb") 
    Dim DBComm as new OleDbCommand 
     
    DBComm = DBConn.CreateCommand()
     
    DBComm.CommandText = "INSERT INTO Pedidos_de_Inspeccao (Data_de_Entrada_do_Pedido_de_Inspeccao, Nome_do_Requerente, Morada_do_Requerente, CodPostal_do_Requerente, Telefone_do_Requerente, Telemovel_do_Requerente, Email_do_Requerente, Tipo_de_Inspeccao, Tipo_de_Instalacao, Morada_da_Inspeccao, CodPostal_da_Inspeccao, DataPreferencial_Inspeccao) " & _
                         "VALUES (@Data_de_Entrada_do_Pedido_de_Inspeccao, @Nome_do_Requerente, @Morada_do_Requerente, @CodPostal_do_Requerente, @Telefone_do_Requerente, @Telemovel_do_Requerente, @Email_do_Requerente, @Tipo_de_Inspeccao, @Tipo_de_Instalacao, @Morada_da_Inspeccao, @CodPostal_da_Inspeccao, @DataPreferencial_Inspeccao)" 
    DBComm.parameters.add("@Data_de_Entrada_do_Pedido_de_Inspeccao", DbType.String).value = Request.Form("dataactual")

    Como podes ver podes criar um parameter usando apenas uma linha de código.
    Para além em vez de andares a criar variaveis do tipo string para armazenar a query podes declará-la logo na propriedade commandtext do teu command. E não precisas concatenar a variavel com ela própria sempre que queres "partir" a string para mudar de linha. Basta adicionar & _ ao fim da linha e continuar na linha seguinte a string.
    E os parameters é para colocar no insert, com a sua declaração abaixo já estás a indicar qual o valor que lhes corresponde.
     
  8. peter alien

    peter alien Power Member

    Ok obrigadão SkylineGTR... realmente assim o código fica bem mais simples.

    Já consegui finalmente "anular" o BACK do IE em relação ao formulário:


    Bastou fazer na página aspx que detém a Form:

    <body>
    <%
    Response.Expires=0
    Response.CacheControl="no-cache"
    %>
    ...

    e no IE corre tudo bem :)


    O problema agora é se um utilizador estiver a usar o Opera ou o Firefox :'( a coisa não funciona!!
     

Partilhar esta Página