我正在创建一个查询SQLite数据库的函数,该函数在读取多个预定义表的意义上应该是通用的。作为函数的参数的一部分,有必要tel读取表的哪一列,一个应该由枚举值传递的信息。所以电话会是这样的:
callMyFunction(enumTableA,enumColumnB);
由于enumColumnB
是枚举器值,因此参数是一个整数,我希望通过该整数值来标识列,而不必为此使用switch-case。像这样:
SELECT column(enumColumnB) from ...
因此,不是传递列的名称或使用*
读取所有列,然后在读取时选择所需的列,而是使用枚举器值传递的列数来标识应该是什么读取。
是否可以为SQLite执行此操作?我无法找到任何提及这种可能性的教程,所以我几乎得出结论,没有这种可能性(我必须将列的名称作为参数传递或使用switch-case at结束),但我想确定我没有这个选项。
答案 0 :(得分:1)
SQLite没有间接列的机制。 (SQLite被设计为嵌入式数据库,即与“真正的”编程语言一起使用。)
您必须使用您正在使用的任何编程语言替换列名称。