当前位置: 代码迷 >> Android >> 向用户公开数据库查询
  详细解决方案

向用户公开数据库查询

热度:84   发布时间:2023-08-04 12:50:39.0

假设我有一个包含“名称”,“年龄”,“城市”,“国家”列的表。 我想向用户公开数据库查询接口,也就是说,他们应该能够执行sql让我们执行的各种查询。

我能想到的唯一方法是在每一列中都有一行,其中每一行都是以下形式:

column name | operator | value

活动中的示例查询为:

name | = | Bob 
age  | > | 25

然后利用这些信息,我可以让一个方法执行查询并返回结果。 对于这个简单的示例,它将起作用。 但是还有更多有趣的事情可以询问sql而这种方法在很多查询中都会失败。

我该怎么办?

首先,你需要考虑操作,你打算怎样让你的用户。 最常见的SQL查询是SELECTINSERTUPDATEDELETE 获得要提供的操作列表后,您需要考虑用户在进行任何这些查询时可以选择的参数。 例如,如果用户想获取(选择)某些数据,那么在您的情况下,他可以提供什么作为输入。 其他查询也类似。

因此,一旦获得了以上信息,就需要将其转换为查询。 这可以通过创建实用程序或帮助程序类来完成,该实用程序或帮助程序类将用户查询以及参数考虑在内,并形成可在数据库上执行的SQL查询。

例如,让我们进入StackOverflow工作页面( )。 在这里,您可以看到用户可以基于多个参数来获取数据,这些参数包括关键字,位置,远程等。考虑到此示例,您的实用程序将创建一个SELECT查询并传递用户选择的参数并生成以下形式的SQL查询

SELECT jobs WHERE is_remote=<user_param> AND tech=<user_param> AND compensation=<user_param>

这只是需要做的事情的概述。 根据您的确切用例,可能会有一些更改。 但这仅涵盖您需要实现的目标。

  相关解决方案