我用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();
显然这个方法现在不行。。我怎么能祈求它在第一个空白行上有字?这样,每当用户单击按钮时,我就可以调用该方法。。
我的情况清楚吗?
这是解决我问题的办法。我想在这里插入这个解决方案,以帮助所有有我自己问题的访客。
@拉胡尔,我试过按你写的去做,但没用。问题在于“name is null”。我也试过“name=null”,但没有比这更好的了!所以我更改了匹配的列:我选择了Student(默认值为0),并按照您告诉我的方式编写。所以:
WHERE Student = '0' LIMIT 1
限制1强制程序只写第一个,而不是所有其他的。现在成功了!
所以我谢谢你!
最佳答案
您似乎认为数据库表类似于Excel表,您可以无休止地向下滚动以查找无限多的空行。但这不是SQL数据库的工作方式。数据库表仅由包含数据的行组成。表格就在最后一个填充行之后结束。
通常,数据库表没有“空”行(这并不是说至少有一个空行在技术上是不可能的,但这是相当罕见的)。如果要向表中添加新条目,请使用INSERT命令:
INSERT INTO subject VALUES ("English", "Bob");
这将向表中添加新行假设您的表有两列,那么新行的这两个字段现在的值是“English”和“Bob”。
UPDATE命令用于更改表中已有的一行或多行
UPDATE subject SET subject="Math" WHERE name="Bob";
此命令将搜索名称为“Bob”的所有行,并将主题更改为“Math”。