尝试通过textview查看数据库表但没有显示

时间:2015-06-23 06:03:31

标签: android sqlite

我想通过textview查看我的数据库表,但是当我点击按钮时没有显示任何数据,任何帮助都将不胜感激

员工类

TextView viewallemp=(TextView)findViewById(R.id.showtextView1);

    DBhandle dbhandle=new DBhandle(this);
    dbhandle=dbhandle.open();


    dbhandle.getEMPData();
    String empdata=dbhandle.getEMPData();
    viewallemp.setText(empdata);

ViewallEMP类

public String getEMPData() {
    String[] columns = new String[] { EMP_ID, EMP_NAME, EMP_DOB, EMP_ADDR, EMP_PHONE };
    Cursor c = ourDatabase.query(EMPINFO_TABLE_NAME, columns, null, null, null,
            null, null);
    String result = "";

    int iRow = c.getColumnIndex(EMP_ID);
    int iName = c.getColumnIndex(EMP_NAME);
    int iDOB = c.getColumnIndex(EMP_DOB);
    int iADDR = c.getColumnIndex(EMP_ADDR);
    int iPHONE = c.getColumnIndex(EMP_PHONE);

    for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) {
        result = result + c.getString(iRow) + " " + c.getString(iName)
                + " " + c.getString(iDOB) + " " + c.getString(iADDR)+ " " + c.getString(iPHONE) + "\n";
    }
 return result;
  }

数据库类

UIGestureRecognizer

以下数据存储在数据库

data in database

3 个答案:

答案 0 :(得分:0)

我认为此方法返回类型存在一些问题。

尝试返回结果。

nc -lu 8053

答案 1 :(得分:0)

尝试String String

的字符串缓冲区
public String getEMPData() {
            String[] columns = new String[] { EMP_ID, EMP_NAME, EMP_DOB, EMP_ADDR, EMP_PHONE };
            Cursor c = ourDatabase.query(EMPINFO_TABLE_NAME, columns, null, null, null,
                    null, null);
           StringBuilder sb = new StringBuilder();

            int iRow = c.getColumnIndex(EMP_ID);
            int iName = c.getColumnIndex(EMP_NAME);
            int iDOB = c.getColumnIndex(EMP_DOB);
            int iADDR = c.getColumnIndex(EMP_ADDR);
            int iPHONE = c.getColumnIndex(EMP_PHONE);

            for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) {
                sb.append(c.getString(iRow) + " ");
                sb.append(c.getString(iName) + " ");
                sb.append(c.getString(iDOB) + " ");
                sb.append(c.getString(iADDR) + " ");
                sb.append(c.getString(iPHONE) + " ");

            }
           return sb.toString();
        }

答案 2 :(得分:0)

尝试更改以下行

for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) {
    result = result + c.getString(iRow) + " " + c.getString(iName)
            + " " + c.getString(iDOB) + " " + c.getString(iADDR)+ " " + c.getString(iPHONE) + "\n";
}

作为

if (c != null ) {
    if  (c.moveToFirst()) {
          do {
              result = result + c.getString(iRow) + " " + c.getString(iName)
              + " " + c.getString(iDOB) + " " + c.getString(iADDR)+ " " + c.getString(iPHONE) + "\n";
          }while (c.moveToNext());
    }
}

我希望这会对你有帮助..