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

Rozdíl mezi přidáváním parametrů do uložené procedury v SQL Server?

Zde je několik vysvětlení:

rozdíl mezi příkazem Add a AddWithValue

Dim cmd as new SqlCommand("SELECT * FROM MyTable WHERE MyDate>@TheDate",conn)
cmd.Parameters.Add("@TheDate",SqlDbType.DateTime).Value="2/1/2007"

vs

cmd.Parameters.AddWithValue("@TheDate","2/1/2007")

"Add vynutí převod z řetězce na datum, když jde do parametru. AddWithValue by jednoduše předal řetězec na SQL Server."

Upravit :

příklad pro získání výstupního parametru:

C#

cmd.Parameters.Add(new SqlParameter("@TheNewId", SqlDbType.Int, int.MaxValue));
cmd.Parameters("@TheNewId").Direction = ParameterDirection.Output;
cmd.ExecuteNonQuery();
int theNewID = (int)cmd.Parameters("@TheNewId").Value;

VB.Net

cmd.Parameters.Add(New SqlParameter("@TheNewId", SqlDbType.Int, Int32.MaxValue))
cmd.Parameters("@TheNewId").Direction = ParameterDirection.Output
cmd.ExecuteNonQuery()
Dim theNewID As Int32 = DirectCast(cmd.Parameters("@TheNewId").Value, Int32)


  1. Kdy použít SELECT... FOR UPDATE?

  2. Mysql drop uživatele s granty pro více hostitelů

  3. if-elseif-else 'podmínka' v Oracle SQL

  4. Jak kaskádově přetrvávat pomocí JPA/EclipseLink