Android SQL数据库从特定表加载数据
我在应用程序启动时创建一个表,并从EditText字符串名称添加更多表 我的第一个数据库表Android SQL数据库从特定表加载数据,android,sqlite,listview,Android,Sqlite,Listview,我在应用程序启动时创建一个表,并从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, pho
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);
将所有表名的列表放入listview我使用以下代码
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));
}
public ArrayList loadArtist(){
ArrayList=新建ArrayList();
SQLiteDatabase=getReadableDatabase();
Cursor=database.query(
ArtistMaster.ArtistDetails.TABLE\u名称,
新字符串[]{ArtistMaster.ArtistDetails.COLUMN\u ARTIST\u NAME},
无效的
无效的
无效的
无效的
无效的
);
while(cursor.moveToNext()){
list.add(cursor.getString(
cursor.getColumnIndexOrThrow(
ArtistMaster.ArtistDetails.COLUMN_ARTIST_NAME));
}
退货清单;
}
您的意思是必须从选定的表名中获取数据,对吗?FSM保存我们!为什么要为新用户创建新表?而是在details
表中创建两个表users
和details
,将外键添加到表users
…是..我想从所选表中获取数据并将其显示在列表视图中;它很简单,只需从选定的listview项中传递表名,然后从数据库中获取所有数据。。我有5个小组。。每个组有50-100个用户。每个人都对其成员的一切负责。定价、阅读的多样性等。请在回答中添加解释:)
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);
public ArrayList<String> loadArtist(){
ArrayList<String> list= new ArrayList<>();
SQLiteDatabase database=getReadableDatabase();
Cursor cursor = database.query(
ArtistMaster.ArtistDetails.TABLE_NAME,
new String[] {ArtistMaster.ArtistDetails.COLUMN_ARTIST_NAME},
null,
null,
null,
null,
null
);
while(cursor.moveToNext()) {
list.add(cursor.getString(
cursor.getColumnIndexOrThrow(
ArtistMaster.ArtistDetails.COLUMN_ARTIST_NAME)));
}
return list;
}