Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1

    Problema query per copiare dati da TB A a TB B

    Ciao a tutti.... premetto che non conosco ASP.... ma avevo giusto bisogno di effettuare delle query sul DB di un sito attraverso appunto una pagina ASP.
    Cercando ho trovato lo script che vi riporto qui sotto (ci sono anche i link di dove l'ho trovato)
    Per funzionare...mi pare funzioni... si collega al DB e una semplice SELECT me la fa.

    Il mio problema è che dovrei letteralmente spostare/copiare dei dati da una tabella A a una tabella B

    l'unico problema è che non mi funziona... forse dipende dalla query.. che è questa:

    Codice PHP:
    INSERT INTO [FILES_ARCHIVIO] (data,area,sezione,zona,tipologia,descrizione,link)
    SELECT data,area,sezione,zona,tipologia,descrizione,replace(link,'../../files/','../../public/archivio/' as Link FROM [FILES
    per sicurezza però posto anche il codice della pagina... che cmq potrebbe essere utile anche ad altri.

    Codice PHP:
    <%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%> 

    <%
    ' Recupera i parametri speciali
    strSQL = Trim(Request.Form("textfield"))
    Conn_STRING = "dsn=db_test;"
    %>

    <html>
    <head>
    <title>Gestione DB onLine</title>
    <script language="JavaScript">
    function impostaquery(){
      var scelta = document.form1.selezione.options[document.form1.selezione.selectedIndex].value;
      document.form1.textfield.value = scelta
    }
    </script>
    </head>

    <body>


    Gestione diretta database</p>
    <form name="form1" method="post" action="archiviazione_documenti.asp">
      <table border="0" cellspacing="2" cellpadding="4">
        <tr align="center">
          <td colspan="2">
            <textarea name="textfield" cols="80" rows="5"><%= strSQL %></textarea>
          </td>
        </tr>
        <tr>
          <td colspan="2" align="center">
            <select name="selezione" onChange="impostaquery();return true;">
              <option value="">QUERY PRE-IMPOSTATE</option>
              <option value="SELECT * FROM [NomeTabella]">Tutti i dati inseriti dal primo all'
    ultimo</option>
              <
    option value="SELECT * FROM [NomeTabella] order by [NomeCampoID] DESC">Tutti i dati inseriti dall'ultimo al primo</option>
              <option value="INSERT INTO [NomeTabella] ([ElencoCampi]) VALUES ([ElencoValori])">Insert dati</option>
              <option value="UPDATE [NomeTabella] SET [NomeCampo] = [ValoreCampo] WHERE [NomeCampo] = [ValoreCampo]">Update dati</option>
              <option value="DELETE FROM [NomeTabella] WHERE [NomeCampo] = [ValoreCampo]">Delete dati</option>
            </select>
          </td>
        </tr>
        <tr>
          <td width="250" align="center">
            <input type="submit" name="Submit" value="Esegui SELECT">
          </td>
          <td width="250" align="center">
            <input type="submit" name="Submit2" value="Esegui COMMAND">
          </td>
        </tr>
      </table>
    </form>

    <%
    If Trim(Request.Form("submit")) <> "" and Trim(strSQL) <> "" then

      Dim intNumDati
      Set objRs = Server.CreateObject("ADODB.Recordset")
        objRs.ActiveConnection = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("/mdb-database/database.mdb")
        objRs.CursorType = 0
        objRs.CursorLocation = 2
        objRs.LockType = 3

        objRs.Source = strSQL
        objRs.Open()
        ntNumDati = 0
    If objRs.EOF and objRs.BOF then
      Response.write "Nessun dato trovato"
    Else
        Response.write "<table>"
        Response.write "<tr>"
        For Each DatoDB In objRs.Fields
      Response.write "<td bgcolor='
    #fac574'>" & DatoDB.Name & "</th>"
    Next
    Response
    .write "</tr>"
    Do While Not objRs.EOF
      
    ' Incrementa il valore della variabile di conteggio dei recordset
      intNumDati = intNumDati + 1
      Response.write "<tr>"
      For Each DatoDB in objRs.Fields
        If Not isNull(DatoDB.Value) then
          Response.write "<td bgcolor='
    #ffffb9'>" & DatoDB.Value & "</td>"
        
    Else
          
    Response.write "<td bgcolor='#ffffb9'>[i](Null)[/i]</td>"
        
    End If
      
    Next
      Response
    .write "</tr>"
      
    objRs.MoveNext
    Loop
     Response
    .write "</table>"
        
    Response.write "Numero di dati: " FormatNumber(intNumDati,0)
      
    End If
      
    objRs.Close()
      
    Set objRs Nothing
    End 
    If
    If 
    Trim(Request.Form("submit2")) <> "" and Trim(strSQL) <> "" then
      Set objEsegui 
    Server.CreateObject("ADODB.Command")
        
    objEsegui.ActiveConnection "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" Server.MapPath("/mdb-database/database.mdb")
        
    objEsegui.CommandText strSQL
        objEsegui
    .Execute
        objEsegui
    .ActiveConnection.Close
      Set objEsegui 
    Nothing
      Response
    .write "La query [b]" strSQL "[/B] è stata eseguita"
    End If
    %>
    </
    td>
    </
    tr>
    </
    table>
    </
    body>
    </
    html

  2. #2
    che vuol dire 'non funziona'?

  3. #3
    Originariamente inviato da optime
    che vuol dire 'non funziona'?
    hai ragione ho dimenticato di specificare...

    mi da questo errore:

    Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

    [Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'replace(link,'../../files/','../../public/archivio/' as Link FROM [FILES]'.

    /public/archivio/archiviazione_documenti.asp, line 98

  4. #4
    tabella a e tabella b fanno parte dello stesso db?

  5. #5
    Originariamente inviato da optime
    tabella a e tabella b fanno parte dello stesso db?
    si lo stesso

    ps scusa ma avevo sbagliato errore... :P riguarda..ora è corretto

  6. #6
    Codice PHP:
    INSERT INTO [FILES_ARCHIVIO] (data,area,sezione,zona,tipologia,descrizione,link)
    SELECT data,area,sezione,zona,tipologia,descrizione,replace(link,'../../files/','../../public/archivio/') as Linksnew FROM [FILES
    Ok son abbastanza fuso... cmq.. ora sistemando un paio di errori assurdi... mi da questo errore:

    Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

    [Microsoft][ODBC Microsoft Access Driver] Undefined function 'replace' in expression.

    /public/archivio/archiviazione_documenti.asp, line 98

  7. #7
    che driver usi per aprire il db?

  8. #8
    Originariamente inviato da optime
    che driver usi per aprire il db?
    ehmm... ...scusa l'ignoranza galattica...ma non lo so..
    uso una stringa di connesione
    <%
    ' FileName="Connection_odbc_conn_dsn.htm"
    ' Type="ADO"
    ' DesigntimeType="ADO"
    ' HTTP="false"
    ' Catalog=""
    ' Schema=""
    Dim MM_ASarbitri_STRING
    MM_ASarbitri_STRING = " DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("/mdb-database/database.mdb")%>

    ma non so che intendi... per quale driver..

  9. #9
    prova questo (adattalo!)

    Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;User Id=admin;Password=;

  10. #10
    ho letto che forse è a causa della versione di access su server...

    e per risolvere potrei fare così:

    Codice PHP:
    Function ReplaceText(StringIn as String) as String

    Dim NewString 
    as String

    NewString 
    Replace(StringIn,"../../files/","../../public/archivio/")

    ReplaceText NewString

    End 
    function 
    Codice PHP:
    INSERT INTO [FILES_ARCHIVIO] (data,area,sezione,zona,tipologia,descrizione,link)
    SELECT data,area,sezione,zona,tipologia,descrizione,ReplaceText(link) as LinkNEW FROM [FILES
    solo che mi da questo errore:

    Microsoft VBScript compilation error '800a03ee'

    Expected ')'

    /public/archivio/archiviazione_documenti.asp, line 106

    Function ReplaceText(StringIn as String) as String

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 © 2025 vBulletin Solutions, Inc. All rights reserved.