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

hoạt động không được phép khi đối tượng bị đóng khi chạy truy vấn nâng cao hơn

Đây là sự cố phổ biến do số lượng hàng được hiểu là đầu ra từ Thủ tục đã lưu trữ khi sử dụng ADODB với SQL Server.

Để tránh điều này, hãy nhớ đặt

SET NOCOUNT ON;

trong Quy trình đã lưu trữ của bạn, điều này sẽ ngăn ADODB trả về một tập bản ghi đã đóng hoặc nếu vì lý do nào đó mà bạn không muốn thực hiện việc này (không chắc chắn tại sao vì bạn luôn có thể sử dụng @@ROWCOUNT để vượt qua số hàng trở lại), bạn có thể sử dụng

'Return the next recordset, which will be the result of the Stored Procedure, not 
'the row count generated when SET NOCOUNT OFF (default).
Set rs = rs.NextRecordset()

trả về ADODB.Recordset tiếp theo nếu ADODB đã phát hiện thấy một cái được trả về bởi Thủ tục lưu trữ (tốt nhất có thể là kiểm tra rs.State <> adStateClosed khi xử lý nhiều đối tượng ADODB.Recordset).




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. T-SQL có hàm tổng hợp để nối các chuỗi không?

  2. Chuyển đổi tên tháng thành số tháng trong SQL Server (T-SQL)

  3. Làm cách nào để cắt bớt ngày giờ trong SQL Server?

  4. Làm thế nào để chèn các ký tự Ả Rập vào cơ sở dữ liệu SQL?

  5. Cách loại bỏ tiêu đề cột khi gửi kết quả truy vấn qua email trong SQL Server (T-SQL)