【发布时间】:2014-01-16 00:07:18
【问题描述】:
我觉得我在这里遗漏了一些非常明显的东西,但似乎这样做的唯一方法是获取值,然后查看它是否返回 null(空)值,我宁愿这样做不做。
SQL 中是否有与 List.contains(Object o) 等价的方法?或者也许 JDBC 具有这种性质?如果有,是什么?
我正在使用 Microsoft Access 2013。
不幸的是,我没有任何有用的代码可以展示,但这里是我想要做的事情的要点。它根本不是什么独特的东西。我想要一个方法(Java),它返回存储在数据库中的用户值。如果用户之前没有添加到数据库中,则应该添加用户,并且应该设置用户的默认值。然后将返回那些新创建的值。如果一个玩家已经被添加到数据库中(以用户名作为主键),我不想覆盖已经存在的数据。
我也建议不要为此使用 MS Access,但如果您熟悉 MS Office 应用程序,熟悉的 UI/UX 结构可能会帮助您站稳脚跟,并且需要更少的时间来学习其他数据库环境。但是,MS Access 往往非常有限,如果可用,我建议考虑其他选项。
【问题讨论】:
-
SELECT 1 FROM <table> WHERE <column> = <value> LIMIT 1;有什么问题? -
我想这没什么问题。我对 SQL 很陌生,而且我已经习惯了那些具有处理该操作的预先存在的函数的类型,例如 List.contains(Object o)。我总是可以在 Java 中创建自己的方法来为我执行该操作。我总是喜欢尽可能地限制重复代码,而且我会经常使用它。
-
你能描述一下你想让代码做什么吗?假设你有一个查询,查询应该返回什么?
-
我是 SQL 新手,我想做的事情并不是独一无二的。如果以前从未使用过我的应用程序的人尝试使用数据库,则应该添加他们,并以他们的用户名作为主键。如果它们已被添加,则代码不应再次尝试将它们添加到数据库中。
-
在 JDBC 中,您应该绝对将
PreparedStatement与静态 SQL 一起使用,而不是使用来自用户的字符串来评估某些内容。否则你可能会让 sql-injection 的恶魔进来……
标签: java sql ms-access jdbc ms-access-2013