2016-05-13 92 views
-3

我想保存在sqlite数据库中的值只有当我所需的条件满足,但它是保存在数据库中的值,即使条件满足,它不停止。项目是一次又一次地保存在sqlite数据库

这是我的代码

int asas = 0; 
     if (list!= null) { 
     for (int i1 = 0; i1 < list.size(); i1++) { 

      String s= list.get(i1); 

      while (msgBody.toUpperCase().contains(s.toUpperCase()) && !contactExists(context, msg_from)) { 

       asas++; 
      if (asas>=3) 
      { 
       screenMessage(context, msg_from, msg_from, msgBody, msgDate); //saving value in this table 
      } 

      if (asas <3 && !contactExists(context, msg_from)) { 


       screenMessagee(context, msg_from, msg_from, msgBody, msgDate); //saving value in this table 

      break; 
       } 
      break; 
      } 
     } 
     } 

现在让我解释一下我的代码。我有一个包含存储在其中的不同项目的列表视图。现在我在这里做的是,我正在检查,如果用户给出的字符串命名为“msgBody”包含那些存储的列表视图项。这就是为什么我使用int asas = 0,以便当用户给出字符串,然后条件检查用户提供的字符串中有多少项列表视图。如果该字符串包含3个或更多项目,则将其保存在特定表格中。如果字符串包含少于3个项目,则将其保存在另一个表格中。 现在我面临的问题是,如果所提供的字符串包含允许例如5个项目,然后根据提供的字符串将被保存在该表中3次

screenMessage(context, msg_from, msg_from, msgBody, msgDate); 

我弄清楚什么是它可能发生,因为当条件时,达到3项存储然后它保存在数据库中的价值,但提供的字符串包含5项,所以条件不停止,并再次保存该值两次,直到所有5项条件满足。 请帮助做些什么来停止条件,如果发现3个项目和价值必须在数据库表中只保存一次

+0

店商品在创建数据库! –

+0

但我想在满足条件后存储 –

+0

然后创建应用程序变量标志 –

回答

1

从我所了解的,你想要统计存储在你的清单中的单词的数量出现在特定的字符串,然后根据其是否小于3来将它存储在两个数据库表中的一个中。

我真的不理解你的代码,但试试这个:

int asas = 0; 
    if (list!= null) { 
    for (int i1 = 0; i1 < list.size(); i1++) { 

     String s= list.get(i1); 


     if(msgBody.toUpperCase().contains(s.toUpperCase()) && !contactExists(context, msg_from)){ 

      asas++; 
     } 


    } 
    if(asas>0){ 
    if(asas<3) 
    { 
     screenMessagee(context, msg_from, msg_from, msgBody, msgDate); //saving value in this table 
    } 

    else{ 

     screenMessage(context, msg_from, msg_from, msgBody, msgDate); //saving value in this table 
    } 
    } 
+0

正是我所需要做的,就像你说的那样。请使用您的代码 –

+0

我不知道该说些什么,但您并不理解代码,它仍然像魅力一样工作。谢谢你,你是多产的 –

+0

欢迎你。 – NezSpencer

相关问题