sql >> Databáze >  >> RDS >> Mysql

parametrizovaný dotaz mysql v ASP.NET

Secret Squirrel měl pravdu, když použil "?" pro parametrizované proměnné. MySQL používá "@" pro inline SQL proměnné pro dotazy, a proto očekává, že budou deklarovány, například ze skriptu nebo části inline (select subquery) deklarace.

Musíte změnit OBĚ instance parametrů... jak v dotazu, tak jako instance command.Parameters.Add...

Také jsem si všiml, a nejsem si jistý, jestli je to ono nebo ne, ale ve vaší klauzuli WHERE máte "heslo" (pouze jedno 's') vs heslo (dvě 's') Nevím, jestli úmyslně nebo ne.

Jedna POSLEDNÍ věc, která MŮŽE pomoci. Vzhledem k tomu, že některé parametry odpovídají názvům sloupců, navrhoval bych MÍRNĚ změnit parametry pouhým přidáním něčeho jako "x" do FORCE rozlišení mezi názvem sloupce a skutečnými parametry...

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

a v parametrech příkazu

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


  1. Jak přimět Oracle vytvořit příkaz tabulky v SQL*Plus

  2. Spusťte skript/příkaz Shell z MySQL Trigger/Uložené procedury

  3. Jak co nejrychleji vložit velké množství záznamů do databáze MySql

  4. Jak programově nastavit max_connections v MySQL