8 messaggi dal 07 settembre 2004
www.adba.it
Saluti a tutti
ho difficoltà nel ritrovare in un campo database la ricerca di un valore !
mi spiego meglio:
il data base è composto da
1) tabella CLUB dove sono presenti i nomi dei club
2) tabella TORNEO dove sono presenti le giornate di campionato
3) tabella CLASSIFICA dove sono presenti club e Classifica
la gestione della tabella club e torneo non ho problemi di immissione/gestione dati, la difficoltà è la gestione della tabella Classifica, in quando quando faccio la ricerca di un CLUB dove è presente questo valore esempio(club potenza "a.bianchi" ) non riconoscendo il carattere ( " ) ignora la sua esistenza.
l'aggiornamento di questa tabella in automatico aggiorna i punti di ogni CLUB.

ho provato con varie soluzione come:

squadra(conta) = rdr("squadra")
Dim Ris1Squa As New OleDbCommand("select * from torneo where girone='" & girone & "' and serie='" & serie & "' and sesso='" & sesso & "' and squadra1='" & squadra(vx) & "' and attivo=true", cnAggSqua)
rds = Ris1Squa.ExecuteReader()
Do While rds.Read() = True
If rds("score1") > rds("score2") Then
vinte = vinte + 1
punti = punti + 2
End If
ecc..

help
Modificato da carminepz il 13 aprile 2008 23.49 -

Carmine
la tua query è soggetta a sql injection!!!

devi eseguire vari replace di caratteri come l'apice (es yourstring.replace("'", "''"). Ti consiglio di usare i parameter offerti dal framework o da una delle tante librerie.

In pratica il tuo codice è può creare seri problemi al db...
cosa succederebbe se inserissi come squadra una squadra:

' OR 1=1 -- ???

ritornerei tutti valori del db!!!
E pensa se inserissi qualche comando di drop!!!

'; DROP DB; --

Ormai programmano tutti... ma la professionalità appartiene a pochi
8 messaggi dal 07 settembre 2004
www.adba.it
scusa se rispondo ora ... sono al lavoaro !
il database non è in sql ma in access (mdb).
non ho nessun problema a gestire il nome delle squadre .. il mio problema sono solo quelle che nel nome club sono presenti i caratteri " .
come ti dicevo ho provato ad usare il comando replace ( squadra(conta) = replace(rdr("squadra"),"","""), ma nel momento in cui utilizzo il select non trova il nome della squadra ( squadra(vx) ).
doveri usare il comando replace nel select ma ...
chi mi da un suggerimento valido ...

Carmine
Forse non hai capito tu...
Il replace lo devi fare prima e non è la soluzione ottimale: usa i Parameter per query parametriche...

Dim Ris1Squa As New OleDbCommand("select * from torneo where girone='" & girone & "' and serie='" & serie & "' and sesso='" & sesso & "' and squadra1='" & replace(squadra(vx),"'", "''") & "' and attivo=true", cnAggSqua)

non sono sicuro della sintassi perchè non conosco vb...

Ormai programmano tutti... ma la professionalità appartiene a pochi

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.