Mysql
 sql >> Database >  >> RDS >> Mysql

query con parametri mysql in ASP.NET

Secret Squirrel aveva ragione nell'usare il "?" per variabili parametrizzate. MySQL usa "@" per le variabili sql inline per le query e quindi si aspetta che vengano dichiarate come da uno script o da una parte di una dichiarazione inline (seleziona sottoquery).

È necessario modificare ENTRAMBE le istanze dei parametri... sia nella query, sia come comando.Parameters.Add... istanze.

Inoltre, ho notato, e non sono sicuro se lo sia o meno, ma nella tua clausola WHERE hai "pasword" (solo una "s") vs password (due "s") Non so se intenzionale o meno.

Un'ULTIMA cosa che POTREBBE aiutare. Poiché alcuni parametri corrispondono ai nomi delle colonne, suggerirei di modificare LEGGERMENTE i parametri semplicemente aggiungendo qualcosa come "x" per FORZARE la differenziazione tra il nome della colonna e i parametri effettivi...

where... p.LoginID = ?xLoginID ...

e nei parametri del comando

objCommand.Parameters.AddWithValue("?xLoginID", loginID);