我有一个带有名为 student 的表的 Access 数据库,其中有一个 Id
字段。我创建了一个 Java 小程序,当我在 TextField1
中输入 Id 的值时> 在小程序中并按 Display
按钮,小程序应在 TextFields 中显示学生的其他详细信息。
这是我的显示按钮代码。
if(command=="Dispaly"){
try{
int stId=Integer.parseInt(textField1.getText());
ResultSet result=state.executeQuery("SELECT*FROM student WHERE Id=stId");
但这给出了参数太少的错误。Expected1。
但是如果我将查询更改为
ResultSet result=state.executeQuery("SELECT*FROM student WHERE Id=3");
(那是给 id=3 的学生)它工作正常。
我的代码有什么问题?有人可以给我看看吗?
最佳答案
您的查询失败,因为数据库引擎无法知道 stId
的含义。您需要像这样将该值作为参数传递
PreparedStatement state = conn.prepareStatement("SELECT * FROM student WHERE Id=?");
int stId=Integer.parseInt(textField1.getText());
state.setInt(1, stId);
ResultSet result=state.executeQuery();
关于java - 将数据库值获取到小程序中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26945944/