sql >> Databasteknik >  >> RDS >> Sqlserver

Skillnad mellan att lägga till parametrar till lagrad procedur i SQL Server?

Här är några förklaringar:

skillnaden mellan kommandot Add och AddWithValue

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

kontra

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

"Add tvingar fram konverteringen från sträng till datum när den går in i parametern. AddWithValue skulle helt enkelt ha skickat strängen vidare till SQL Server.

Redigera :

exempel för att få en utdataparameter:

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. Android Realm som hanterar primärnyckel i relationsobjekt

  2. Hur man bevarar ordningen för barn att visas efter sina föräldrar

  3. Hur visar man ett standardvärde när ingen matchning hittas i en fråga?

  4. Välj rader med maxvärde grupperade i två kolumner