【发布时间】:2021-07-16 22:56:04
【问题描述】:
我正在编写将 SQL 语句作为字符串文件读取的 Java 程序,但是程序需要验证 SQL 语句是否具有有效的列名。有 2 个文件保存列名,它们也存储在字符串中。我正在努力弄清楚如何将两个文件与一个 SQL 语句字符串进行比较的逻辑。
以下是用户可以输入的可能的 SQL 语句示例: SELECT * JobHost where class_id ='MAA';
我的第一种方法是通过 select & from 拆分文件,然后逐行读取并将其存储为数组列表。然后将数组列表与字符串文件列名进行比较,或者将列名放在数组列表中。
最好的方法是什么?
【问题讨论】:
-
如果您有一个包含列名的 SQL 语句,那么您将不得不解析 SQL 语句以识别列名。但我不明白你为什么要这样做。您打算处理哪些 SQL 语句?它们有多复杂?
-
如果您关心列名,我建议您使用列名,而不是
*。您能否举例说明您正在做什么以便我们更容易地提供帮助? -
I am writing Java program that reads in SQL Statement as string file... 这是什么意思?您正在阅读 CSV 文件吗?Here is an example of a possible SQL Statement the user can input: SELECT * JobHost where class_id ='MAA';... 不允许用户输入任意表字段名称。强制用户从下拉组合框中的列表中选择这些表字段名称。这样就没有什么可以确认的了。您可以轻松获取表格元数据以获取表格字段名称。
标签: java sql validation