我正在使用的SQLite数据库表会在需要时添加列。我不想对列进行硬编码,否则会冒着更新数据库而忘记更新硬编码值的风险。如何返回表中所有列的名称?(最好在中String[]
)
最好是使用SQLiteDatabase
实例并使用查询方法
SQLiteDatabase mDataBase;
(some code here...)
mDataBase = getReadableDatabase();
Cursor dbCursor = mDataBase.query(TABLE_NAME, null, null, null, null, null, null);
String[] columnNames = dbCursor.getColumnNames();
columnNames
应该有列名
问题内容: 我在这里看到了几个与sqlite更新有关的问题,但无法解决此问题。我无法更新表,它始终为0; 我可以插入和获取数据,但是更新时只有问题。 PS我也试过execSql() 问题答案: 听起来好像没有什么符合您的标准。也许作为测试,您应该通过null作为where条件(这表示更新所有行),并查看是否仍返回0。 如果此后仍返回0,我将确保您实际上已将数据保存在数据库表中。
问题内容: 我正在开发一个短信应用程序,我试图从每次对话中获取最新的短信。 这是我的SQL语句: 我在SQLite Expert中运行了查询,并且得到了正确的响应: 但是,当我在应用程序中运行它时,我得到: 这是我的桌子 这是我的Datamanipulator类: 问题答案: 使用时,结果的每一行对应于原始表的多行。这些结果的计算有三种可能性: 具有聚合函数的列类似于或计算组中所有行的值; 子句中
问题内容: 我已经尝试过此代码 但这会引发错误: 如何获取所有表名? 问题答案: 经过检查,测试和运行。试试这个代码: 我假设,在一行的某个点上,您将获取一个 表名 列表,以可能以a 或某种形式显示。不只是展示吐司。 未经测试的代码。 这就是我的首要想法。在生产应用中使用它之前,请先进行测试。;-) 在这种情况下,请考虑对上面发布的代码进行以下更改:
我有一个使用MVVM构建的应用程序。我已成功地将应用程序插入SQLite数据库。我现在尝试在插入完成后获取数据库中的rowId,以便在后续活动中可以对该行进行更新。 我完全理解在DAO中将Void更改为Long的部分,但我不知道如何在活动级别实际访问该Long,并将其保存到一个变量中,该变量可以从一个活动发送到另一个活动。加价。下面是代码示例。 表/实体类: 存储库类: 道 ViewModel类:
它还会返回这个表,遗漏一些行(我希望它给出所有流派,而不仅仅是演员在其中扮演角色的流派): 有趣的是,它为“动画”返回了“0”,但为“儿童”或“喜剧”没有行,这是我正在寻找的结果(所有流派都返回了)。我做错了什么?
昨天我的Nexus5收到了从到版本的更新。此后,扫描设备中可用网络的动作停止接收列表,在这种情况下,结果列表的大小为0,即使在Wifi系统设置中列出了10+个Wifi网络。 这方面的代码通常是:注册并在接收器中等待事件,如下所示: 我在API的变化主题中搜索了关于这个的内容,但是我没有看到这个功能有什么突破性的变化。 有人注意到了吗?是API中的新内容还是仅有的个别情况?