简体   繁体   English

SQLite数据库数据库数据未插入

[英]SQLite datatbase data not inserting

In my android code I am inserting some data to database from gcm intent.It is working when I am inserting without checking any condition.When I check the first element of the json object received with if statement data are not inserting.I think some error with if condition.please help me 在我的Android代码中,我正在从gcm intent向数据库中插入一些数据。当我插入而不检查任何条件时,它是有效的。当我检查接收到的json对象的第一个元素时是否未插入语句数据。我认为有些错误如果有condition.please帮助我

protected void onMessage(Context context, Intent intent) {
        Log.i(TAG, "Received message");
        String message = intent.getExtras().getString("title");


        if (message ==  "instru"){
        String message1 = intent.getExtras().getString("price");
        String message2 = intent.getExtras().getString("price1");
        String message3 = intent.getExtras().getString("price2");
        String message4 = intent.getExtras().getString("price3");
        String message5 = intent.getExtras().getString("price4");
        DatabaseHandler1 db = new DatabaseHandler1(getApplicationContext());
        int count = db.getRowCount_1();
        if(count > 0){
            db.resetTables_1();
        }
        db.addUser_1(message1,message2,message3,message4,message5);
       }
        else if(message == "signal"){
            //else {
            String message1 = intent.getExtras().getString("date");
            String message2 = intent.getExtras().getString("name");
            String message3 = intent.getExtras().getString("buy");
            String message4 = intent.getExtras().getString("stop");
            String message5 = intent.getExtras().getString("tv");
            String message6 = intent.getExtras().getString("tp");
            String message7 = intent.getExtras().getString("res");
            DatabaseHandler1 db = new DatabaseHandler1(getApplicationContext());
            DatabaseHandler1 db = new DatabaseHandler1(getApplicationContext());
            int count = db.getRowCount_2();
            if(count > 0){
                db.resetTables_2();
            }
            db.addUser_2(message1,message2,message3,message4,message5,message6,message7);


        }
        displayMessage(context, message);
        // notifies user
        generateNotification(context, message);
    }

different json objects recieved 收到不同的json对象

$message = array(
"title" => "instru",
"price" => $trade1,
"price1" => "$trade2",
"price2" => "$trade3",
"price3" => "$trade4",
"price4" => "$date");

$message = array(
        "title" => "signal",
        "date" => $date1,
        "name" => $signal_name,
        "buy" => $price,
        "stop" => $stop,
        "tv" => $trig_value,
        "tp" => $profit,       
        "res" => $result,
    );

在Java中,要比较String ,需要使用equals()而不是==

if (message.equals("instru"))

Use 采用

message.equals("instru")

instead of 代替

message ==  "instru"

Same goes valid for 'message == "signal"' 同样适用于'message ==“ signal”'

Even better 更好

Use 采用

  "instru".equals(message)

Since message can be null` in some situations 由于在某些情况下message can be null

Don't use 不要使用

 (message == "signal")

for comparing two Strings. 比较两个字符串。

Using == operator in Java programming for compare two Strings its bad thing. 在Java编程中使用==运算符比较两个String是不好的。 So you need to use equals() or equalsIgnoreCase() . 因此,您需要使用equals()equalsIgnoreCase() So it will be 所以会的

message.equals("signal")

or 要么

message.equalsIgnoreCase("signal")

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

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