繁体   English   中英

如何只显示一次数据库中的特定数据?

[英]How to show specific data from database only once?

如何使变量text1text2time在开始时仅显示一次,例如title ,因为它们对特定数据组具有相同的值,然后在下面显示变量text3时间与该变量具有该特定值的时间一样多一组数据。

text3完成写入数据后,对于该组数据,查询必须开始为text1text2time以及下面的text3新值写入另一组数据。

这是我的代码:

 public class NapredakActivity extends Activity {  
 @Override
 public void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.first);
 String var;
 final TextView t = (TextView) findViewById(R.id.textView2);
 Intent intent = getIntent();
 var=intent.getStringExtra("date");
       SQLiteDatabase db = openOrCreateDatabase("Database", MODE_PRIVATE, null);
       String q = "SELECT text1 ,text2, text3, time FROM table WHERE time LIKE '"+var+"'";

       Cursor c = db.rawQuery(q, null);

       if( c.getCount() < 1 ){

           c.close();
           db.close();
           Toast.makeText(NapredakActivity.this, "wrong choice",Toast.LENGTH_LONG).show();

           startActivity(new Intent(this,calendar.class));
       }
       else{
                 String j="";
                                           c.moveToFirst();
                         do {
                          String cm = c.getString(c.getColumnIndex("text1" )); 
                          String cm2 = c.getString(c.getColumnIndex("text2"));            
                          String cm4 = c.getString(c.getColumnIndex("text3"));
                          String cm3 = c.getString(c.getColumnIndex("time" ));

                        j = j+"\n"+cm+cm4+cm2+cm3;  

                          } while (c.moveToNext());

                         t.setText(j);   
                   c.close();
              db.close();        
       }        }    }

如果我正确理解您的假设并假设您希望保持显示db内容的方式,即在一个TextView中,只需使用如下标记:

else{
                         String cmOld ="a text that never will be in the BD";
                         boolean flag_newText1Found;
                         String j="";
                         c.moveToFirst();
                         do {
                          String cm = c.getString(c.getColumnIndex("text1" )); 
                          if (cm.equals(cmOld)) 
                             cm = "";
                          else
                             cmOld = cm;
                          String cm2 = c.getString(c.getColumnIndex("text2"));            
                          String cm4 = c.getString(c.getColumnIndex("text3"));
                          String cm3 = c.getString(c.getColumnIndex("time" ));

                        j = j+"\n"+cm+cm4+cm2+cm3;  

                          } while (c.moveToNext());


                         t.setText(j); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM