Advertisement
Guest User

Untitled

a guest
Jul 28th, 2015
221
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.33 KB | None | 0 0
  1. SqlConnection db = new SqlConnection(...);
  2. SqlCommand s = new SqlCommand("select * from foo where a=@a", db);
  3. s.Parameters.Add("@a", SqlDbType.VarChar, 8);
  4. s.Prepare();
  5. ...
  6. s.Parameters["@a"] = "bozo";
  7. s.Execute();
  8.  
  9. using (var sqlConnection = new SqlConnection("connstring"))
  10. {
  11. sqlConnection.Open();
  12. using (var sqlCommand = new SqlCommand
  13. {
  14. Connection = sqlConnection,
  15. CommandText = "dbo.MyProc",
  16. CommandType = CommandType.StoredProcedure,
  17. })
  18. {
  19. // Once-off setup per connection
  20. // This parameter doesn't vary so is set just once
  21. sqlCommand.Parameters.Add("ConstantParam0", SqlDbType.Int).Value = 1234;
  22. // These parameters are defined once but set multiple times
  23. sqlCommand.Parameters.Add(new SqlParameter("VarParam1", SqlDbType.VarChar));
  24. sqlCommand.Parameters.Add(new SqlParameter("VarParam2", SqlDbType.DateTime));
  25.  
  26. // Tight loop - performance critical
  27. foreach(var item in itemsToExec)
  28. {
  29. // No need to set ConstantParam0
  30. // Reuses variable parameters, by just mutating values
  31. sqlParameters["VarParam1"].Value = item.Param1Value; // Or sqlParameters[1].Value
  32. sqlParameters["VarParam2"].Value = item.Param2Date; // Or sqlParameters[2].Value
  33. sqlCommand.ExecuteNonQuery();
  34. }
  35. }
  36. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement