首页 > 解决方案 > 只想更新数据库中填充 fxml UI 的那些项目。未填写的项目应在数据库中保持不变

问题描述

我是 javafx 的新手,我应该用什么来更新(在数据库中)只有那些在 UI 中填写的字段和其余字段在数据库中应该保持不变。我将如何知道要设置哪个值(在 UPDATE SET 查询中) 例如:如果我只想更新特定 personID 的名称,但在数据库中保持其他字段相同。

在此处输入图像描述

标签: sqlsql-serverjavafxcontrollerfxml

解决方案


简而言之,您的查询应该只SET包含您希望更改的字段。

假设您有一个简单的数据库表,Users其中包含以下字段:

user_id |first_name | middle_name | last_name

现在您要更新用户 #23的first_nameand ,但保持不变。middle_namelast_name

您的 SQL 查询应该是

UPDATE table_name
SET 
    first_name = 'John',
    middle_name = 'Michael'
WHERE user_id = 23;

该记录现在将更新为新的first_namemiddle_namelast_name将保持不变。SET只有您在查询中特别指定的字段才会受到影响。


因此,为了构建您的查询,只需检查TextField您的 UI 中的每一个以查看是否已输入/更改了值。然后只将那些包含在您的查询中。


推荐阅读