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

mysql parametriseret forespørgsel i ASP.NET

Secret Squirrel havde ret i at bruge "?" for parameteriserede variable. MySQL bruger "@" til inline sql-variabler til forespørgsler og forventer derfor, at de bliver erklæret, f.eks. fra et script eller en del af en inline-deklaration (vælg underforespørgsel).

Du skal ændre BEGGE instanser af parametrene... både i forespørgslen og som kommandoen.Parameters.Add... instanser.

Jeg har også bemærket det, og jeg er ikke sikker på, om det er det eller ej, men i din WHERE-klausul har du "adgangskode" (kun et 'er') kontra adgangskode (to 's') Ved ikke om det er med vilje eller ej.

En SIDSTE ting, der KAN hjælpe. Da nogle af parametrene matcher kolonnenavnene, vil jeg foreslå at ændre parametrene LIDT ved blot at tilføje noget som "x" for at FORCE differentiering mellem kolonnenavnet og de faktiske parametre...

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

og i kommandoparametrene

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


  1. sql:vælg de mest stemte elementer fra hver bruger

  2. SQL mange til mange vælger

  3. søge kode i servlet til mysql?

  4. Tæl antallet af maks. værdier for flere datoer