sql >> Databáze >  >> RDS >> Sqlserver

C# Připravené výpisy - dotazy na znak @ (zavináč / znak štrúdlu).

ODBC má skutečně svůj podíl na problémech s podporou pojmenovaných parametrů. Určité použití pojmenovaných parametrů je však možné.

Například ve vašem případě funguje následující syntaxe:

OdbcCommand cmd = sql.CreateCommand();
cmd.CommandText = "SELECT UNIQUE_ID FROM userdetails WHERE USER_ID = ?";
cmd.Parameters.Add("USER_ID", OdbcType.VarChar, 250).Value = email;

Ošemetnější situace je, když nemáte jedinečnou shodu pro parametr jako USER_ID =?; např. když chcete použít IN operátor v WHERE doložka.

Pak by to udělala následující syntaxe:

OdbcCommand cmd = sql.CreateCommand();
cmd.CommandText = "SELECT UNIQUE_ID FROM userdetails WHERE USER_ID IN (?, ?)";
cmd.Parameters.Add("?ID1", OdbcType.VarChar, 250).Value = email1;
cmd.Parameters.Add("?ID2", OdbcType.VarChar, 250).Value = email2;

Všimněte si prosím použití ? (otazník) místo @ (zavináč) v názvu parametru. I když si všimněte, že nahrazení hodnot parametrů v tomto případě nemá nic společného s jejich názvy, ale pouze s jejich pořadím v kolekci parametrů.

Doufám, že to pomůže :-)



  1. Vložit do tabulky vyberte z tabulky a a tabulky b kde

  2. Spusťte uloženou proceduru SQL Server prostřednictvím Database Link od společnosti Oracle

  3. Proč se newid() materializuje na samém konci dotazu?

  4. Použití křížové aplikace v příkazu aktualizace