【发布时间】:2016-04-14 12:30:24
【问题描述】:
我在应用程序启动时创建一个表并从 EditText 字符串名称添加更多表。
我的第一个数据库表
public static final String CREATE_ERAMPE_TABLE = "create table details" +
"(id integer primary key, username text, metre text, northing double," +
"eastings double,identification text, phone text, date text)";
根据活动创建其他表格
SQLiteDatabase db = dbHelper.getWritableDatabase();
newTableName = dbTableName.getText().toString();
String sql = "create table "+ newTableName+
"(id integer primary key, username text, metre text, northing text," +
"eastings text,identification text, phone text, date text)";
Log.i("CreateDb=", sql);
当插入数据到特定的时候
String insertTo = metreUsers.getTableName();
return database.insert(insertTo, null, cvs);
将所有表名的列表放入列表视图中,我使用以下代码
public ArrayList<RegisteredGroups> getRegisteredGroups(){
ArrayList<RegisteredGroups> arrTblnames = new ArrayList<RegisteredGroups>();
// database = dbHelper.getWritableDatabase();
Cursor c = database.rawQuery("SELECT name FROM sqlite_master WHERE type='table' AND name != 'android_metadata' AND name != 'sqlite_sequence'", null);
while (c.moveToNext()){
RegisteredGroups grp = new RegisteredGroups();
grp.setGroupName(c.getString(c.getColumnIndex("name")));
arrTblnames.add(grp);
//get count of entries in every single table
String countQuery = "SELECT * FROM "+c.getString(c.getColumnIndex("name"));
Cursor cursor = database.rawQuery(countQuery, null);
int cnt = cursor.getCount();
grp.setGroupNumber(String.valueOf(cnt));
}
现在,当我单击包含数据库表名的列表视图上的第一项时,我想从该特定表中将数据加载到列表视图中。
传递正在使用的表名
rgGroup = (RegisteredGroups)parent.getItemAtPosition(position);
if (rgGroup != null){
Bundle arguments = new Bundle();
FragmentManager frag = getFragmentManager();
FragmentTransaction trans = frag.beginTransaction();
arguments.putParcelable("selectedGroup", rgGroup);
RegisteredUsersList regs = new RegisteredUsersList();
regs.setArguments(arguments);
【问题讨论】:
-
你的意思是你必须从选定的表名中获取数据,对吧??
-
FSM 拯救我们!你为什么要为新用户创建新表?而是在
details表中创建两个表users和details将外键添加到表users... -
是的..我想从选定的表中获取数据并将其显示在列表视图中;
-
它很简单,只需从选定的列表视图项中传递表名并从数据库中获取所有数据。
-
这样吧..我有5个组..每个组有50-100个用户。每个人都对其成员的一切负责。定价,阅读差异等