Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Przygotowane instrukcje C# — zapytania o znak @ (w / strudel)

Rzeczywiście, ODBC ma swój udział w problemach z obsługą nazwanych parametrów. Jednak pewne użycie nazwanych parametrów jest możliwe.

Na przykład w twoim przypadku działa następująca składnia:

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

Bardziej skomplikowana sytuacja jest, gdy nie masz unikalnego dopasowania dla parametru, takiego jak USER_ID =?; np. gdy chcesz użyć IN operator w GDZIE klauzula.

Wówczas zadanie wykonałaby następująca składnia:

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;

Zwróć uwagę na użycie ? (znak zapytania) zamiast @ (na znaku) w nazwie parametru. Należy jednak pamiętać, że podstawianie wartości parametrów w tym przypadku nie ma nic wspólnego z ich nazwami, a jedynie z ich kolejnością w kolekcji parametrów.

Mam nadzieję, że to pomoże :-)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. dodawanie informacji o kodowaniu do wyniku FOR XML

  2. T-SQL Zapytanie tabelę macierzową dla wolnej pozycji

  3. To samo zapytanie - różne plany wykonania

  4. Błąd przepełnienia arytmetycznego (numeryczny na numeryczny) z MERGE:błąd programu SQL Server?

  5. Porządkowanie wyników SQL Server według klauzuli IN