PDA

View Full Version : Hỏi về JDBC



ILoveJava
10-04-2003, 20:44
Mình có một StoreProcedure được viết trong SQL Server 2000 như sau :

CREATE PROCEDURE get_all_process
AS
DECLARE @row int
Select *from Process
Select @row=@@rowcount
RETURN @row
GO

Mình viết một chương trình Java chạy thủ tục trên để lấy giá trị trả về là @row ở trên. Nhưng mình đọc các tài liệu ở Java thì không thấy nói đến cách này mà chỉ có chạy thủ tục không thôi và không lấy lại giá trị trả về. Rất mong được các bạn giúp đỡ giải quyết giúp mình vấn đề trên. Cám ơn các bạn rất nhiều.
:)

tiger2003
11-04-2003, 15:33
Bạn nghiên cứu cái CallableStatement đi.

CallableStatement stmt = connection.prepareCall ("{call ?=tenthutuc(?,?)}")
- Sau đó đăng ký biến để lấy ra,
stmt.registerOutParameter(int parameterIndex, int sqlType) ;
- Truyển biến vào
stmt.setInt(sothu tu,gia tri);
- lấy giá trị trả ra
stmt.getInt, ..get***

theo tui biết thì trong SqlServer2000 Procedure chỉ nên trả ra giá trị là 0 hoặc 1 thui, 1- là chạy OK, 0 = false. Viết hàm thì hay hơn

Chúc vui vẻ ha

ILoveJava
11-04-2003, 19:21
Cám ơn bạn nhiều nha. :):D