我正在用 Java 编写一个简单的程序,该程序使用用户插入的信息编写数据库。我已经为保存这些信息的按钮实现了一个监听器,因此更新了连接的服务器(所以连接正常)。我想得到第一个空白行并在上面写。通过这种方式,我可以编写整个数据库调用相同的方法。有什么建议吗?这是代码(它从一个监听器开始)
Object src = e.getSource();
if (src == insTeaching)
{
String teachName = teachNameField.getText();
int studentsNumber = (int) studentsNumberSpinner.getValue();
DBConnect connection = new DBConnect();
connection.updateDB(teachName, studentSNumber);
}
其中 updateDB 是以下方法:
public void updateDB (String name, int student){
try {
String query1 = "UPDATE subject SET name='" + name
+"', student='" + student+"' WHERE (conditions...);
PreparedStatement statement=con.prepareStatement(query1);
statement.executeUpdate();
显然这种方法此时无法工作..我怎样才能实现它以在第一个空白行上写字?这样,每次用户单击按钮时,我都可以调用该方法。我的情况清楚吗?
这是我的问题的解决方案。我想在这里插入这个解决方案来帮助所有有我自己问题的访问者。
@Rahul,我已经尝试过您所写的内容,但它不起作用。问题在于“名称为空”。我也试过“name = null”,但没有什么好转的!所以我改变了匹配的列:我选择了学生(默认值为 0),我按照你告诉我的写了。所以:
WHERE Student = '0' LIMIT 1
限制 1 强制程序只写第一个而不是其他所有。现在它起作用了!所以我谢谢你!