Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    585

    Eseguire nuovamente query su tabella gia 'esistente

    Ciao a Tutti,

    ho la mia pagina asp con il seguente codice:

    <%@ Language=VBScript %>
    <%
    Option Explicit
    Dim field, iLoop, nation, objConn, objRS_out, str_out
    %>

    <BODY>

    <%
    '
    Set objConn = Server.CreateObject("ADODB.Connection")
    objConn.ConnectionString = "DSN=2_advance.dsn"
    objConn.Open
    '
    str_out = "SELECT Numero, Activity, Nazione, Nome, Richiedente INTO t_ta FROM t_mrg WHERE Activity Not Like '??' ORDER BY Numero DESC;"
    Set objRS_out = objConn.Execute(str_out)
    '
    %>

    quando lancio la pagina da browser la prima volta,
    vedo che nel db di access legato alla connessione 2_advance.dsn,
    mi viene generata correttamente la tabella t_ta

    mentre se rilancio la pagina asp una seconda volta, mi viene dato errore:
    "Tabella t_ta gia 'esistente"

    C' e' un modo per sovrascrivere i dati in maniera automatica,
    affinche' ad ogni reload della pagina asp la tabella t_ta mi venga generata nuovamente ??

    Grazie mille in anticipo !!!

  2. #2
    no, la select...into vuole che la tabella target non sia già presente. hai due soluzioni

    1. usi insert into ... select
    2. cancelli la tabella target prima della select into


  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    585
    Grazie mille !!!!


  4. #4
    poi posta la soluzione, grazie

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    585
    Optime,

    prendendo spunto da quanto mi hai detto,
    ho creato nel db di access la tabella t_ta con i campi:

    Numero
    Activity
    Q
    Nazione
    Nome
    Work Proposal
    Ris
    Rev

    che sono esattamente i campi della query che eseguo con str_out,
    che rispetto a prima, l' ho modificata cosi':

    <%
    '
    Set objConn = Server.CreateObject("ADODB.Connection")
    objConn.ConnectionString = "DSN=2_advance.dsn"
    objConn.Open
    '
    str_out = "INSERT INTO t_ta SELECT Numero, Activity, Qualita as Q, Nazione, Nome, Wp_date AS [Work Proposal], Ris, Rev FROM t_mrg WHERE Activity Not Like '??' ORDER BY Numero DESC, Ris DESC, Rev DESC;"
    Set objRS_out = objConn.Execute(str_out)
    '
    %>

    in questo modo ad ogni reload della mia pagina asp si aggiungono di nuovo tutti i records della mia query str_out nella tabella t_ta


    Per chiudere il giro dovrei cancellarli di volta in volta magari con una query di DELETE ...

  6. #6
    delete o truncate. consiglio la seconda perché è più veloce

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    585
    Grazie come al solito optime !!

    Ho provato cosi':

    ' Set objRS_out = objConn.Execute("TRUNCATE TABLE t_ta") -- errore !!

    Set objRS_1 = objConn.Execute("DELETE * FROM t_ta")

    Set objRS_2 = objConn.Execute("INSERT INTO t_ta SELECT Numero, Activity, Qualita as Q, Nazione, Nome, Wp_date AS [Work Proposal], Ris, Rev FROM t_mrg WHERE Activity Not Like '??' ORDER BY Numero DESC, Ris DESC, Rev DESC;")

    E funziona alla grande !!!

    Ogni volta che faccio il reload della mia pagina asp i records che popolano la tabella t_ta sono quelli corretti e non si accodano piu' in fondo

    Ho provato col truncate ma mi da' errore: mi dice che e' consentito il DELETE come istruzione ...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.