Tôi có một thủ tục được lưu trữ với tham số đầu ra. Làm cách nào để đọc giá trị này bằng mã C#?Làm thế nào để chạy thủ tục lưu sẵn có tham số OUTPUT từ C#?
Trả lời
Tôi giả sử bạn sử dụng ADO.NET? Nếu vậy, lớp SqlParameter có thuộc tính "Direction". Đặt hướng đến đầu ra và sau khi truy vấn đã thực hiện, bạn đọc giá trị từ tham số đó.
Something như thế này:
using (SqlCommand cmd = new SqlCommand("MyStoredProcedure", cn))
{
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter parm = new SqlParameter("@pkid", SqlDbType.Int);
parm.Value = 1;
parm.Direction = ParameterDirection.Input;
cmd.Parameters.Add(parm);
SqlParameter parm2 = new SqlParameter("@ProductName", SqlDbType.VarChar);
parm2.Size = 50;
parm2.Direction = ParameterDirection.Output; // This is important!
cmd.Parameters.Add(parm2);
cn.Open();
cmd.ExecuteNonQuery();
cn.Close();
}
tôi có một câu hỏi khác tôi cần phải xác định rằng tham số đầu ra là số thập phân (8,2) như thế nào !!! – shmandor
Tôi không chắc mình có hiểu câu hỏi hay không. Nếu bạn trả về một số thập phân trong biến đầu ra, bạn nên đặt SqlDbType thành Decimal. Nếu bạn đang trong thực tế trở về một số thập phân, bạn có thể đúc như thế này: (thập phân) cmd.Parameters [@ "MyDecimal"] Giá trị – Merrimack
Tôi mạnh mẽ đề nghị đặt 'SqlConnection' và' SqlCommand' vào 'using (....) {...} 'khối là một thực hành tốt nhất –
- 1. Làm thế nào để gọi thủ tục lưu sẵn từ một thủ tục lưu sẵn khác?
- 2. thủ tục lưu sẵn với số tham số khác nhau
- 3. Cách trả về nhiều tham số đầu ra từ thủ tục lưu sẵn cho hàm C#
- 4. Gọi thủ tục lưu sẵn với các tham số
- 5. Tham số "Boolean" cho thủ tục lưu sẵn Oracle
- 6. Làm thế nào để gọi Thủ tục lưu trữ (với 2 tham số) trong một thủ tục lưu trữ?
- 7. Làm thế nào để thực hiện thủ tục lưu sẵn từ SQL Plus?
- 8. Làm thế nào để sử dụng một giá trị từ một thủ tục lưu sẵn trong một thủ tục khác?
- 9. Thủ tục lưu trữ, khi nào sử dụng tham số Output vs biến Return
- 10. Thực thi thủ tục lưu sẵn với tham số đầu ra?
- 11. Làm thế nào để lấy giá trị vô hướng từ thủ tục lưu sẵn (ADO.NET)
- 12. Làm thế nào để chèn/tạo các thủ tục lưu sẵn trong mySQL từ PHP?
- 13. Làm thế nào để lưu một thủ tục lưu trữ?
- 14. Thủ tục lưu sẵn với tên bảng làm tham số trong số những người khác
- 15. Làm thế nào để tạo một thủ tục lưu sẵn MySQL từ PHP?
- 16. Gọi thủ tục lưu sẵn với asp.net
- 17. Gọi thủ tục lưu sẵn SQL với tham số đầu ra trong VBScript
- 18. Làm cách nào để gọi thủ tục lưu sẵn Oracle từ tập lệnh Excel VBA?
- 19. Làm thế nào tôi có thể lấy danh sách tham số từ thủ tục được lưu trữ trong SQL Server
- 20. DESC và ASC làm tham số trong thủ tục lưu sẵn
- 21. Thủ tục lưu sẵn - nhận dạng trả về làm tham số đầu ra hoặc vô hướng
- 22. TSQL: Gọi thủ tục lưu sẵn từ một thủ tục lưu sẵn khác và đọc kết quả
- 23. Tôi có nên sử dụng sp_executesql hoặc EXEC để chạy một thủ tục lưu sẵn không?
- 24. Làm cách nào để xem tiến trình chạy các thủ tục lưu sẵn SQL?
- 25. Thực hiện một thủ tục lưu sẵn trong một thủ tục lưu sẵn khác trong máy chủ SQL
- 26. Thủ tục lưu sẵn Oracle với các tham số cho mệnh đề IN
- 27. VBScript: Truyền tham số có giá trị null cho một thủ tục lưu sẵn?
- 28. Làm thế nào để gỡ lỗi một thủ tục lưu sẵn trong Toad?
- 29. Làm cách nào để gọi thủ tục được lưu trữ với các tham số độc đáo?
- 30. Làm thế nào tôi có thể lặp qua một recordset trong một thủ tục lưu sẵn?
Xin vui lòng gửi mã bạn đã viết cho đến nay. –
Tôi upvote điều này bởi vì nó là một câu hỏi hữu ích, nhưng vì thiếu "Tôi đã thử này" Tôi không thể làm như vậy. – JYelton