我试图通过callablestatement将字符串的值发送到mysql数据库。当我在我的语句中手动输入一个字符串替换变量时,它可以正常工作,但我需要从另一个类调用该字符串。
这是我的存储过程,它可以工作。
CREATE DEFINER=`jbreen`@`%` PROCEDURE `getlocation`(IN location VARCHAR(50))
BEGIN
SELECT locationname, addressone, addresstwo FROM Locations_AL
WHERE locationname = location;
END
在我的第一个类中,从组合框中检索字符串:
String locations = cb_Location.getSelectedItem().toString();
在我的第二个类中,字符串被输入到语句中:
String sql = "{CALL getlocation(?)}";
CallableStatement stmt = conn.prepareCall(sql);
stmt.setString(1, MainActivity.locations);
rs = stmt.executeQuery();
执行此操作时不返回任何行。我试图添加''在字符串之前和之后,我认为这可能是这种情况,但没有运气......