Visualizzazione dei risultati da 1 a 2 su 2

Discussione: Query ASP

  1. #1

    Query ASP

    Ciao ...

    ho un problema con una query di Update.

    Non riesco a passare tutti gli ID.

    Ho una tabella che si chiama T_Posta in cui sono presenti i campi :

    ID
    Allegato

    e un altra tabella T_Documenti in cui sono presenti :

    ID
    Destinatario

    Facendo la query Qua sotto riesco a prelevare tutti gli allegati Presenti nella tabella T_Posta
    il file per intero è :
    codice:
    <%
    
    dim conn, rs1, rs2, sql, sqlCount, cont, i, nomefile, aiuto 
    dim strconn, sqlNome, rsNome
    ' --- costruzione stringa di connessione al db ---
    
    	Set Conn = Server.CreateObject("ADODB.Connection")
    	Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};" &_
    	"DBQ="& Server.MapPath("Posta.mdb")
    	
    Set rs1 = Server.CreateObject("Adodb.Recordset")
    Set rs2 = Server.CreateObject("Adodb.Recordset")
    
    'effetto la connessione alle tabelle
    
    rs1.Open "T_Posta", conn, 2, 2
    rs2.Open "T_Documenti", conn, 2, 2
    
    destinatario = request.querystring("destinatario")
    Allegato = request.querystring("Allegato")
    ID = Session("ID")
    
    
    sql = "SELECT * FROM T_Posta where ID = " & ID
    sql2 = "SELECT * FROM T_Documenti where ID = " & ID
    sql3="SELECT DISTINCT T_Posta.Destinatario, T_Documenti.Destinatario, T_Posta.Allegato as PROVA FROM T_Posta INNER JOIN T_Documenti ON T_Posta.Destinatario=T_Documenti.Destinatario WHERE T_Posta.Destinatario ='" & Destinatario & "' AND T_Posta.Allegato IS NOT NULL"
    
    set rs1 = conn.execute(sql)
    set rs2 = conn.execute(sql2)
    set rs3 = conn.execute(sql3)
    
    response.Write("<table border='1' align='center'>")
    If rs3.EOF then
       response.Write("<CENTER>")
     	Response.Write("Non ci sono allegati")
       response.Write("</CENTER>")
      	
    Else
     response.Write("<form name='allegati' method='post' action='cancellazioneAllegato.asp?ID=" & ID & "'")
      response.Write("<tr>")
      response.write("<th>")
      response.Write("NOME ALLEGATO")
      response.Write("</th>")
      response.Write("<th>")
      response.write("CANCELLA")
      response.Write("</th>")
      response.Write("</tr>")
    
    Do While Not rs3.EOF
       
       response.Write("<tr>")
       response.write("<td>")
       response.write(rs3("PROVA"))
       response.write("</td>")
       response.write("<td align='center'>")
       response.Write("<input type='checkbox'  name='canc' value=" & rs3("PROVA") & ">" & "")
       response.write("</td>")
       response.Write("</tr>")
       rs3.movenext
       
    Loop
    
       response.Write("<tr>")
       response.Write("<td align='center'>")
       response.write("<input type='reset' value='Deseleziona Tutto'")
       response.Write("</td>")
       response.Write("<td align='center'>")
       response.write("<input type='submit' value='Cancella'")
       response.Write("</td>")
       response.Write("</tr>")
       
    end if
    
    response.Write("</table>")
    rs3.Close
    conn.Close
    response.Write("
    ")
    response.Write("<table align='center'>" & "<tr>" & "<td align='center'>")
    %>
    <tr><td align="center">Indietro</td></tr>
    <%
    response.Write("</td>" & "</tr>" & "</table>")
    response.Write("</form>")
    %>
    il problema e che non riesco a visualizzare la cancellazione di piu file perche non mi passa tutti gli id degli allegati selezionati.Se invece provo a selezionarne solo uno lo cancella e lo aggiorna sul DB.

    il file dove è presente la query di Update e :

    codice:
    <%
    
    ID = session("ID")
    
    response.write(ID)
    
    dim conn, rs, sql, sqldelete
    dim strconn
    dim nomifile, canc
    dim i, s, File_Object, Cartella_Object, File_System_Object
    
    ' --- costruzione stringa di connessione al db ---
    	Set Conn = Server.CreateObject("ADODB.Connection")
    	Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};" &_
    	"DBQ="& Server.MapPath("Posta.mdb")
    	
    	ID = session("ID")
    
    response.write(ID)
    
    canc = request.Form("canc")
    
    Dim objFSO
    Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
    
    i = 0
    s = Split(canc, ", ") 
    response.Write("<CENTER>")
    response.Write("<span class='titoletto'>")
    response.Write("I file cancellati sono: ")
    response.Write("
    ")
    response.Write("</SPAN>")
    response.Write("<table align='center' border='1'>")
    For i = 0 To UBound(s)
    	objFSO.DeleteFile ("C:\inetpub\wwwRoot\RecuperoM\Posta\allegati\" & s(i))
    	
    	sqlS = "SELECT Allegato FROM T_Posta where ID = " & ID & " AND Allegato = '" & s(i) & "'"
    
        response.write (sqlS)
    	  response.write ("
    ")
    
        set rsS = conn.execute(sqlS)
    	
    	sql = "UPDATE T_Posta SET Allegato = NULL  WHERE ID = " & ID & " AND Allegato = '" & s(i) & "'"
    	
    	response.write ("
    ")
    	response.write (sql)
    	
    	' esecuzione della sql sul db
    	Set Rs = Conn.Execute(sql)
    	
    	response.Write("<TR>" & "<TD align='center'>")
    	Response.write(s(i))
        response.Write("</TD>" & "</TR>")
    	
    	
    Next
    response.Write("</TABLE>")
    response.Write("
    
    ")
    response.Write("<table align='center'>" & "<tr>" & "<td align='center'>")
    %>
    Indietro
    <%
    response.Write("</td>" & "</tr>" & "</table>")
    response.Write("</form>")
    %>

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    E' il form che non li passa perché non glielo dici...
    Devi passare tutti gli ID in campi hidden alla pagina di cancellazione.

    Roby

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.