使用JavaDB使用SQL只更新表中的一个值

使用JavaDB使用SQL只更新表中的一个值,java,sql,database,derby,Java,Sql,Database,Derby,我在尝试更新程序中的一行数据时遇到问题。我正在使用代码 String updateStr = "UPDATE STUDENT.FOLDERS SET Folder = '" + FOname + "' WHERE UserID = '" + EmailMangerGUI.Username_TXF.getText() + "' AND Folder = '" + Selection + "'"; try { stmt.executeUpdat

我在尝试更新程序中的一行数据时遇到问题。我正在使用代码

String updateStr = "UPDATE STUDENT.FOLDERS SET Folder = '" + FOname + "' WHERE UserID = '" + EmailMangerGUI.Username_TXF.getText() + "' AND Folder = '" + Selection + "'";
            try {
                stmt.executeUpdate(updateStr);
在这种情况下,“Selection”变量将用户单击的值存储在JTable中

当用户单击特定行时,我在Username文本字段中输入一个值,我只希望单击的行在数据库中用名称更新。然而,当我运行代码时,它会用输入的名称更新数据库中的所有行

FOname是用户名文本字段的名称


想知道如何避开这个问题吗。

好奇。我认为WHERE子句限制了您想要更新的内容。一种简单的调试技术是设置断点,捕获
updateStr
的值,并将其复制/粘贴到phpmyadmin之类的工具中,以针对某些测试数据执行它。顺便说一句,从字符串组件构建SQL是一种不好的做法,如果API允许您这样做,那么最好使用准备好的语句并使用参数化执行查询。我对Android上的java数据库访问很熟悉,但对JavaDB不太熟悉,但它似乎能做到这一点,值得学习。谢谢,我试一下。我已经成功了。谢谢你的建议