到目前为止,我已经进行了连接,但在结果中显示了
UncleSam.
我想要做的是在两列之间放置一个空格,结果是
Uncle Sam.
这是我正在处理的代码:
public Cursor getAllPatients()
{
Cursor localCursor = //
this.myDataBase.query(DB_TABLE, new String[] {
KEY_ID, KEY_FNAME + "||" + KEY_LNAME, KEY_DIAGNOSIS, KEY_LASTFFUP }, null, null, null, null, null);
if (localCursor != null)
localCursor.moveToFirst();
return localCursor;
}
来自DBHelper.java的
和
Cursor cursor = dbHelper.getAllPatients();
String[] data = new String[]{
DBHelper.KEY_FNAME + "||" + DBHelper.KEY_LNAME, DBHelper.KEY_DIAGNOSIS, DBHelper.KEY_LASTFFUP};
//
int[] to = new int[] {R.id.fullname, R.id.diagnosis, R.id.lastffup};
dataAdapter = new SimpleCursorAdapter(this, R.layout.custom_row, cursor, data, to, 0);
来自我的MainActivity。
任何帮助都可以。感谢。
答案 0 :(得分:3)
你可以像这样结束:
Cursor localCursor = this.myDataBase.rawQuery("SELECT (KEY_FNAME || ' ' || KEY_LNAME) AS fullname, KEY_ID, KEY_DIAGNOSIS, KEY_LASTFFUP FROM DB_TABLE");
您的标题全名将位于光标栏'全名'。
在主要活动中:
String[] data = new String[]{ "fullname", DBHelper.KEY_DIAGNOSIS, DBHelper.KEY_LASTFFUP};
(你应该为" fullname"分配一个DBHelper常量。)
答案 1 :(得分:0)
Android Sqlite concat两列
在与这个帖子的作者进行了一点谈话后,我建议你不要连接列(你真的不需要它)和从Cursor检索的concat字符串。您的陈述将更具人性化,解决方案更清晰。
<强>解释强>
通常,使用表示表的对象在应用程序层上表示表是非常有用和有效的方法。例如,如果您有表User,那么创建新类User和表中的列将等于此类中的属性。这种方式我觉得非常优雅(如果其他人会看到你的代码,他不会感到困惑和害怕)
最后,当你将它们添加到ListAdapter
所以我更喜欢这种方式:
List<User> users = new ArrayList<User>();
User u = null;
String query = "select * from Table";
Cursor c = db.rawQuery(query, null);
if (c != null && c.moveToFirst()) {
do {
u = new User();
u.setFirstName(c.getString(c.getColumnIndex("fname")));
u.setLastName(c.getString(c.getColumnIndex("lname")));
...
users.add(u);
} while (c.moveToNext());
}
然后在ListAdapter
的某个地方,您可以这样做:
textView.setText(u.getFirstname() + " " + u.getLastName());
希望它有所帮助。
答案 2 :(得分:0)
我终于明白了。
public Cursor getAllPatients()
{
Cursor localCursor = //
this.myDataBase.query(DB_TABLE, new String[] {
KEY_ID, KEY_FNAME + "|| ' ' ||" + KEY_LNAME, KEY_DIAGNOSIS, KEY_LASTFFUP }, null, null, null, null, null);
if (localCursor != null)
localCursor.moveToFirst();
return localCursor;
}
和
Cursor cursor = dbHelper.getAllPatients();
String[] data = new String[]{
DBHelper.KEY_FNAME + "|| ' ' ||" + DBHelper.KEY_LNAME, DBHelper.KEY_DIAGNOSIS, DBHelper.KEY_LASTFFUP};
//
int[] to = new int[] {R.id.fullname, R.id.diagnosis, R.id.lastffup};
dataAdapter = new SimpleCursorAdapter(this, R.layout.custom_row, cursor, data, to, 0);