Cái stored procedure của bạn viết chưa tối ưu lắm, có qua nhiều câu truy vấn thừa, bạn sửa lại thế này xem
Code:
CREATE PROCEDURE GetCarInfo
@CarBookingId int output,
@DayRent varchar(50) output,
@DayPickUp varchar(50) output,
@NumberDaysRent int output,
@CarId int output,
@Username varchar(50)
AS
SELECT @CarBookingId=CarBookingId,@DayRent=DayRent ,@DayPickUp=DayPickUp,@NumberDaysRent=NumberDaysRent,@CarId=CarId FROM CarRental WHERE Username=@Username
Ở đây có lẽ Username là khoá chính trong bảng?
Có hai điểm bạn cần thay đổi:
- Tất cả các fields đều thuộc 1 bảng, vì vậy chỉ cần 1 câu query là có thể lấy tất cả.
- Username truyền vào chỉ có 1 giá trị nên toán tử cần dùng là = chứ không phải IN. Dùng IN về nguyên tắc vẫn cho ra kết quả đúng nhưng dùng như vậy là không thích hợp.
Bạn thử lại xem còn gì trục trặc không.