Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Повторно използване на SqlCommand?

да. Ще искате да сте сигурни, че извиквате myCommand.Parameters.Clear между всяко извикване, за да изхвърлите параметрите, но нищо не ви пречи да използвате повторно обекта. (Не използвам C# често, така че това може да има грешка или две в текста)

myConStr = ConfigurationManager.ConnectionStrings["MyConnString"].ConnectionString;
myConn = new SqlConnection(myConStr);
myConn.Open();

myCommand = new System.Data.SqlClient.SqlCommand("team5UserCurrentBooks3", myConn); 
myCommand.CommandType = CommandType.StoredProcedure;
myCommand.Parameters.AddWithValue("@book_id", bookID);
myCommand.Parameters.AddWithValue("@user_id", userID);
myCommand.ExecuteNonQuery();

myCommand.Parameters.Clear();
myCommand.CommandText= "NewStoredProcedureName";
myCommand.CommandType = CommandType.StoredProcedure;
myCommand.Parameters.AddWithValue("@foo_id", fooId);
myCommand.Parameters.AddWithValue("@bar_id", barId);
mycommand.ExecuteNonQuery();

myCommand.Parameters.Clear();
myCommand.CommandText = " SELECT * FROM table1 WHERE ID = @TID;"
myCommand.CommandType = CommandType.Text;
myCommand.Parameters.AddWithValue("@tid", tId);
SqlReader rdr;
rdr = myCommand.ExecuteReader();


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Преобразувайте „datetime2“ в „time“ в SQL Server (T-SQL примери)

  2. Задайте начална стойност за колона с автоматично увеличение

  3. SQL Server 2014:Естествено архивно криптиране

  4. SET срещу SELECT при присвояване на променливи?

  5. Причини да нямате клъстериран индекс в SQL Server 2005