Visualizzazione dei risultati da 1 a 10 su 10

Discussione: funzione SQL

  1. #1

    funzione SQL

    allora, io ho 1 tabella "calciatori" ke ha i seg campi:

    Cognome,Nome,Ruolo,Costo

    Ho fatto in 1 pagina asp la seguente funz:

    <%
    Dim calc
    'Creo una nuova stringa SQL
    validateSQL = "SELECT Costo FROM calciatori WHERE Cognome='" & calc & "'"

    'Creo un nuovo recordsheet
    Set rs_soccercost = Server.CreateObject ("ADODB.RecordSet")

    'Apro il record sheet e eseguo SQL
    rs_soccercost.open validateSQL,adoCon
    %>

    In questo modo in 1 altra pagina, se ho bisogno del costo d 1 giocatore faccio rs_soccercost("Dida") e mi dà il costo di Dida. Il problema è ke nn lo fa e mi dà errore.
    Qualke idea?grazie

  2. #2
    Utente di HTML.it L'avatar di Luis33
    Registrato dal
    May 2003
    Messaggi
    975
    come valorizzi calc?
    ... Sono graditi codes, esempi pratici, suggerimenti, consigli e critiche...
    "Ai posteri l'ardua sentenza..."
    Tante grazie
    Saluti
    Luis 33

  3. #3
    La sintassi per estrarre il contenuto di un campo da un recordset e memorizzarlo in una variabile è
    codice:
    var = recordset("nome_campo")
    Quindi nel tuo caso, per vedere il costo di Dida, dopo avere eseguito la query
    codice:
    sql = "select costo from calciatori where cognome = 'Dida'"
    (come già hai fatto) devi fare
    codice:
    costo = rs_soccercost("costo")
    e poi visualizzare il contenuto della variabile, per esempio con
    codice:
    response.write(costo)
    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

  4. #4
    il problema è 1 altro xkè il calciatore nn è sempre Dida, ma può essere anke Toldo; in 1 pagina l'utente deve scrivere 3 nomi di calciatori (portieri), poi skiaccia avanti e nella pagina ke viene (ke è 1 pagina d conferma ke dice ke i nomi sono stati inseriti nella tabella correttamente) faccio i controlli sul costo dei calciatori. quindi io devo ricavare il costo dei 3 singoli calciatori e sommarli; quindi gli stampo il totale dei 3 nella pagina d conferma. pensavo ke io lo avessi fatto correttamente, ma mi sbagliavo.

    Questo è l'errore ke mi dà:

    Tipo di errore:
    ADODB.Recordset (0x800A0CC1)
    Impossibile trovare l'oggetto nell'insieme corrispondente al nome o al numero richiesto.
    /prova/check_por.asp, line 32

    alla linea 32 sto kiamando la funz rs_soccercost

  5. #5
    Certo, lo so che non vuoi sempre il costo di Dida...

    La tua query ha estratto il campo "costo" relativo al calciatore il cui nome hai inserito nella query.

    Il problema è che non chiedi il costo di un solo giocatore, ma il costo di più di uno.

    Quindi per estrarre i dati dal recordset non puoi fare

    costo = rs_soccercost("costo")
    come se fosse un solo record, ma devi usare un ciclo come

    codice:
    do until rs_soccercost.eof
    costo = rs_soccercost("costo")
    rs_soccercost.movenext
    loop
    Se devi sommare i vari costi dovrai fare qualcosa come
    codice:
    somma = 0
    do until rs_soccercost.eof
    costo = rs_soccercost("costo")
    somma = somma + costo
    rs_soccercost.movenext
    loop
    inizializzando la variabile "somma" all'inizio e poi incrementandola del costo del singolo giocatore ad ogni esecuzione del ciclo.

    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

  6. #6
    accidenti a me!! nn riesco a capire xkè come parametro d rs_soccercost metti "costo" e nn il nome del giocatore di cui voglio sapere il costo...facendo costo=rs_soccercost("costo") nn mi restituisce il costo del giocatore il cui cognome è "costo"?

    inoltre il parametro da passare a rs_soccercost è ciò ke l'utente ha scritto nel text box: come faccio a passare il parametro nella text box alla funz?

  7. #7
    Se i campi della tabella "calciatori" del database sono, per esempio, "nome", "ruolo", "costo", per estrarre il loro valore da un recordset che hai popolato con i dati contenuti in quella tabella, devi usare la sintassi:

    nome = recordset("nome")
    ruolo = recordset("ruolo")
    costo = recordset("costo")
    insomma, in generale, devi fare

    valore = nome_del_recordset("nome_del_campo")
    Se i record sono più di uno, a questa singola serie di istruzioni dovrai sostituire un ciclo che legga tutti i record e per ciascuno di essi recuperi i dati.

    Il recordset lo avrai popolato con una serie di istruzioni come, per esempio,
    set recordset = server.createobject("ADODB.recordset")
    sql = "select * from calciatori where nome = ' " &calciatore_scelto& " ' "
    recordset.open sql, conn, 3, 3
    dove " * " significa "tutti i campi" e, sopratutto (questa è la risposta alla tua seconda domanda) "calciatore_scelto" è il nome del calciatore scelto dall'utente nel text box (di un form), che tu avrai recuperato con l'istruzione
    calciatore_scelto = request.form("nome_della_text_box")
    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

  8. #8
    oh...teorema...ma QUANTE NE SAI!!?? grazie mille..all'inizio pensavo d non aver capito ma poi ho risolto in qualke modo. GRAZIE!!

  9. #9
    Eheheheh,

    grazie per l'apprezzamento, ma queste sono le basi di ASP.

    Comunque, sono contento che abbia risolto. Buona domenica!

    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

  10. #10
    già, vero, sono le basi, ma quando devi imparare ttt t sembra oro ke luccica ..

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.