2011-06-15 88 views
0

我想要一个条件语句来确定表是否存在。不幸的是,光标数据类型返回未捕获的异常(和崩溃的应用程序)之前,我可以做一个空的比较或检查假等Android SQLite比较

什么是从Java,以确定最佳的方式,如果存在

+0

你想检查一个*表*在那里,或为*值*?从你的措辞不清楚。 – dmon 2011-06-15 04:02:22

+0

值,我知道表格现在存在 – CQM 2011-06-15 16:28:46

回答

1

“如果我的sql表中的值存在,从Java确定的最佳方法是什么?”

  SELECT exists 
     (select * from T where mycolumn = {some value} ) 

将在SQLite中返回1,如果为true,则返回1。

+0

本声明中的T是什么? – CQM 2011-06-15 01:35:00

+0

我必须在android sdk中执行SQL查询的主要功能是'sqlitedatabase.execSQL(“查询字符串”)'这是一个无效函数并且没有办法从SQL字符串返回数据 – CQM 2011-06-15 01:41:24

+0

@RD - “T”is “你的桌子”的惯例。你问了两个问题,(1)如何判断表是否存在,以及(2)如何判断表中是否存在值。我向您展示了回答问题#2的基本查询结构。您需要使用您拥有的任何数据库中间件来执行该查询。您可能会使用sdk中的.query方法。 http://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html – Tim 2011-06-15 10:13:18

1
在我的SQL表中的值

请尝试运行此查询:

SELECT * FROM dbname.sqlite_master WHERE type ='table';

这查询sqlite主表,你应该能够看到你想要的表。

+0

不知道这个。很酷。 – Noel 2011-06-15 01:20:14

+0

我需要查看该表是否在特定行上有任何值。如果确实如此:不要插入,否则:插入。如何在不抛出异常的情况下检查值 – CQM 2011-06-15 01:25:25