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

Разлика между добавяне на параметри към съхранена процедура в SQL Server?

Ето някои обяснения:

разлика между команда Add и AddWithValue

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

срещу

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

„Add принуждава преобразуването от низ към дата, докато влиза в параметъра. AddWithValue просто би предал низа на SQL Server.

Редактиране :

пример за получаване на изходен параметър:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Какви са магическите таблици, налични в SQL Server 2000?

  2. вмъкнете XML файл в SQL чрез SSIS

  3. Кръстосано прилагане в Linq

  4. Вземете списъка с уникални ограничения и индекси в база данни

  5. Предайте речник<string,int> към T-SQL за съхранявана процедура