Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Sự khác biệt giữa việc thêm các tham số vào thủ tục được lưu trữ trong SQL Server?

Dưới đây là một số giải thích:

sự khác biệt giữa lệnh Add và AddWithValue

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

so với

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

"Add buộc chuyển đổi từ chuỗi thành ngày khi nó đi vào tham số. AddWithValue sẽ chỉ chuyển chuỗi vào SQL Server.

Chỉnh sửa :

ví dụ để lấy Tham số đầu ra:

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. Cửa hàng truy vấn SQL Server

  2. Nhận một giá trị ngẫu nhiên từ một phạm vi trong MS SQL?

  3. Không thể sử dụng tổng hợp hoặc truy vấn con trong một biểu thức được sử dụng cho nhóm theo danh sách của mệnh đề GROUP BY

  4. Làm cách nào để thoát khỏi một trích dẫn duy nhất trong SQL Server?

  5. Xóa bản ghi trùng lặp khỏi chế độ xem