我有一個mysql存儲過程。如何使用java運行mysql存儲過程
DELIMITER //
CREATE PROCEDURE GetRecordsByAge(IN Age INT)
BEGIN
SELECT * FROM test1 WHERE age = Age;
END //
DELIMITER ;
當我通過java運行此存儲過程時,它將給出表的所有記錄。
但是如果我在select語句中有一個條件。爲什麼發生這種情況?
這裏設定的我的代碼行: -
CallableStatement cStmt = null;
cStmt = con.prepareCall("{ CALL GetSpecificRecord(?) }");
cStmt.setInt(1, 25);
cStmt.execute();
ResultSet rs1 = cStmt.getResultSet();
當我打印這個結果集這會給表的所有記錄。
問題在哪裏?
感謝
你打電話給GetSpecificRecord,但你的proc是GetRecordsByAge – 2013-02-22 07:22:55
你有沒有試過在mysql本身測試sp。你是否得到了預期的結果? Iswanto發現它! – SaK 2013-02-22 07:24:21