Có bao nhiêu thông số mà bạn cho là "một số lượng lớn"? Ngoài ra, tại sao các thủ tục lưu trữ có rất nhiều tham số? Âm thanh như nó sẽ rất thú vị để kiểm tra.
Mã sẽ gọi thủ tục được lưu trữ sẽ đưa ra dữ liệu cần thiết để truyền vào các tham số như thế nào? Nếu dữ liệu đã có sẵn trong XML, thì XML có thể là một cách tốt để truyền chúng. Nếu dữ liệu đã có sẵn trong các biến riêng biệt, thì các đối tượng Tham số có thể tốt hơn.
Cũng lưu ý rằng với SQL Server 2008, bạn có tùy chọn gửi một DataTable làm giá trị của tham số của loại TABLE.
EDIT: Cách dễ dàng để Thiết lập thông số
Mặc dù tôi tin rằng DataSets được dùng quá nhiều và lạm dụng, sau đây là một thủ tục mà sẽ thiết lập đối tượng tham số thủ tục lưu trữ và làm cho nó nhiều dễ dàng hơn để gọi các thủ tục được lưu trữ với nhiều tham số:
- Tạo một Số liệu mới bằng cách sử dụng "Thêm mục mới" và chọn Tập dữ liệu. Đặt tên cho DataSet bất cứ điều gì bạn thích.
- Xem Server Explorer nếu bạn đã chưa xem nó
- Thêm một kết nối đến cơ sở dữ liệu của bạn nếu nó không phải là đã có
- Mở rộng kết nối cho đến khi bạn tìm thấy thủ tục lưu trữ của bạn
- Kéo Stored Procedure vào việc thiết kế bề mặt
Điều này sẽ tạo ra một TableAdapter với một phương thức để gọi thủ tục lưu trữ của bạn.Phương thức này phụ thuộc vào các đối tượng SqlParameter mà cơ sở hạ tầng đã tạo ra. Phương thức sẽ lấy các tham số SP được truyền vào như các tham số của lời gọi phương thức, và sẽ sử dụng các tham số cuộc gọi để điền vào các tham số SP. Đây là tất cả được thực hiện cho bạn, và được thực hiện một cách hợp lý hiệu quả.
Nguồn
2009-05-08 18:57:42
Cảm ơn vì điều đó, một số câu hỏi tôi sẽ có; làm thế nào để bạn kéo ra một số lĩnh vực ví dụ ProductID, ProductName, SKWNumber và xử lý các loại khác nhau. – GrumpyMonkey
không thực sự đủ dung lượng để ví dụ này có thể tốt hơn http://www.raihaniqbal.org/blog/perform-batch-insertsupdates-in-sql-server-2005-using-xml/ – u07ch
liên kết dường như đã di chuyển - http : //www.raihaniqbal.net/blog/2009/04/perform-batch-insertsupdates-in-sql-server-2005-using-xml/ –