sql >> Database >  >> RDS >> Sqlserver

Verschil tussen het toevoegen van parameters aan de opgeslagen procedure in SQL Server?

Hier zijn enkele verklaringen:

verschil tussen commando Add en 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 forceert de conversie van string naar datum als het in de parameter gaat. AddWithValue zou de string gewoon hebben doorgegeven aan de SQL Server.

Bewerken :

voorbeeld om een ​​output-parameter te krijgen:

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. Probleem met MySQL-impasse met InnoDB

  2. PL / SQL om een ​​string in de hele database te doorzoeken

  3. Query invoegen om rijen in MySQL in te voegen

  4. Wat is DTU in Azure SQL Database en hoe kom je erachter hoeveel we nodig hebben?