Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: Flash - Asp

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    12

    Flash - Asp

    Ragazzi ho questo problema. Ho un sito in flash. Vorrei interfacciarlo con un db Access in modo che nella home.swf del sito si richiamino dei campi di un database e da un pannello di amministrazione sempre in Flash si modifichino i contenuti del sito.

    <%
    '<< intercetta l'azione del bottone
    action = Request("action")
    answer = Request("answer")
    if action = "rd" Then
    RD() '<< scrive
    elseif action = "sg" Then
    ' L'applicazione prima inserisce i dati nel DB e dopo manda i dati per le statistiche

    SG() '<< legge
    RD() '<< srive
    else
    message = "Nessuna striga SQL presente"
    response.write ("message=" +URLEncode(message)+"&cconfirm=1")
    response.end
    End If

    '<< Funzione scrittura dati nel database
    Function SG()
    '<< apertura e collegamento database
    Dim Con, rs, strSQL
    Set Con = Server.CreateObject ("ADODB.Connection")
    Con.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&_
    server.MapPath("NOME_DB.mdb")

    Set rs = server.CreateObject ("ADODB.Recordset")
    strSql="Select * From NOME_TABELLA"
    rs.Open strSql, con, 3, 3

    '<< da flash gli passiamo la variabile della risposta e aggiorniamo il database

    If answer="1" Then
    rs.Fields("primo")= Request.Form("primo")
    rs.Fields("primoo")= Request.Form("primoo")
    rs.Fields("sec")= Request.Form("sec")

    End If

    rs.Update
    rs.Close

    End Function

    '<< Funzione lettura dati dal database
    Function RD()
    '<< apertura e collegamento database
    Dim Con, rs, strSQL
    Set Con = Server.CreateObject ("ADODB.Connection")
    Con.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&_
    server.MapPath("NOME_DB.mdb")

    Set rs = server.CreateObject ("ADODB.Recordset")
    strSql="Select * From NOME_TABELLA"
    rs.Open strSql, con, 3, 3
    '<< leggiamo i dati nel db e visualizzati nel form di flash

    response.write ("&primo" & "="+ rs("primo"))
    response.write ("&secondo" & "="+ rs("secondo"))
    response.write ("&terzo" & "="+ rs("terzo"))

    response.write ("&loaded=1")

    End Function
    %>

    Questo è il codice della pagina asp che poi richiamo da Flash con:

    loadVariables ("paginaasp.asp?action=sg/rd", this);


    Ma non funziona!!

  2. #2
    che vuol dire non funziona?

  3. #3
    prova a mettere

    codice:
    paginaasp.asp?action=rd
    che com'è strutturato il tuo codice non legge sg/rd


  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    12
    No ho messo io sg/rd per farti indendere una delle 2 azioni. Anche mettendo sg oppure rd il risultato non cambia.

  5. #5
    a me lo script mi pare corretto...

    prova ad aprire direttamente te nel browser la pagina in questione e vedi se stampa in maniera corretta

    altrimenti è un problema del flash


    cmq, se usi la funzion SG devi passargli in querystring anche answer, altrimenti quella funzione non fa nulla


  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    12
    Ho fatto un piccolo passo avanti. Ho cambiato metodo. Allora riesco a leggere da database con questo script:

    <%
    Set DataConn = Server.CreateObject("ADODB.Connection")
    DataConn.Open "Driver=Microsoft Access Driver (*.mdb);DBQ=" & Server.MapPath("data/AddressBook.mdb")

    Set cmdTemp = Server.CreateObject("ADODB.Command")
    Set rstContacts = Server.CreateObject("ADODB.Recordset")

    cmdTemp.CommandText = "Select * From Contacts"
    cmdTemp.CommandType = 1
    Set cmdTemp.ActiveConnection = DataConn

    rstContacts.Open cmdTemp, , 1, 3

    rstContacts.Move CLng(Request("Record"))

    Response.write "Notes=" & Server.URLEncode(rstContacts("Notes")) & "&"
    Response.write "sq_casa=" & Server.URLEncode(rstContacts("sq_casa")) & "&"
    Response.write "sq_trasf=" & Server.URLEncode(rstContacts("sq_trasf")) & "&"
    Response.write "mezzo=" & Server.URLEncode(rstContacts("mezzo")) & "&"
    Response.write "comunicati_bsr=" & Server.URLEncode(rstContacts("comunicati_bsr")) & "&"
    Response.write "comunicati_cn=" & Server.URLEncode(rstContacts("comunicati_cn")) & "&"
    Response.write "trasferte=" & Server.URLEncode(rstContacts("trasferte")) & "&"

    Response.write "TotalRecords=" & rstContacts.RecordCount

    rstContacts.Close
    DataConn.Close
    %>

    Poi però non riesco a scrivere sul db...con questa sintassi

    <%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>

    <%
    on error resume next
    ' Recupero variabili provenienti da Flash
    Notes = request("Notes")
    sq_casa = request("sq_casa")
    sq_trasf = request("sq_trasf")
    trasferte = request("trasferte")
    mezzo = request("mezzo")
    comunicati_bsr = request("comunicati_bsr")
    comunicati_cn = request("comunicati_cn")
    Set RS = Server.CreateObject( "ADODB.Recordset" )
    sqlString = "INSERT INTO Contacts (Notes,sq_casa,sq_trasf,trasferte,mezzo,comunicati _bsr,comunicati_cn)"&_
    " values ('"&Notes&"','"&sq_casa&"','"&sq_trasf&"','"&trasf erte&"','"&mezzo&"','"&comunicati_bsr&"','"&comuni cati_cn&"')"
    objConn.Execute sqlString

    if err.Number then
    Response.write "risposta="&err.description
    else
    Response.write "risposta=ok"
    end if


    %>

    Scusa ma sono proprio fuori da Asp...Posso usare 2 file uno per leggere e uno per scrivere?

  7. #7
    si che puoi...forse fai male il passaggio dei dati da flash...li mandi alla pagina che scrivce con un metodo POST/GET?

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    12
    Si ti posto il codice.

    CODICE AS:

    dati.sendAndLoad("aggiungi.asp", dati, "POST")

    CODICE ASP:

    <%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>

    <%

    on error resume next
    ' Recupero variabili provenienti da Flash
    Notes = request("Notes")
    sq_casa = request("&sq_casa")
    sq_trasf = request("sq_trasf")
    trasferte = request("trasferte")
    mezzo = request("mezzo")
    comunicati_bsr = request("comunicati_bsr")
    comunicati_cn = request("comunicati_cn")
    Set RS = Server.CreateObject( "ADODB.Recordset" )

    sqlString = "INSERT INTO Contacts (Notes,sq_casa,sq_trasf,trasferte,mezzo,comunicati _bsr,comunicati_cn)"&_
    " values ('"&Notes&"','"&sq_casa&"','"&sq_trasf&"','"&trasf erte&"','"&mezzo&"','"&comunicati_bsr&"','"&comuni cati_cn&"')"
    objConn.Execute sqlString
    if err.Number then
    Response.write "risposta="&err.description
    else
    Response.write "risposta=ok"
    end if


    %>

    ma non succede nulla!!

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    12
    Anzi fa qualcosa di strano! Può essere che aggiunge dei record vuoti sul db invece di sovrascrivere i campi esistenti?

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    12
    Ok altro piccolo passo avanti. Ho capito che con questa sintassi quando invio le informazioni vengono scritte sul db. Però accade che aggiunge un record con tutti campi undefined. Cosa può essere?

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.