Android Sqlite如果不存在插入 [英] Android Sqlite Insert if not exists

查看:140
本文介绍了Android Sqlite如果不存在插入的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的Android应用程序中,我需要将数据保存到数据库。值为用户名和DOB详细信息。所以在保存细节之前,我需要检查数据是否存在。如果有人知道,请帮忙。

In my android application I need to save data into database . The values are user's name and DOB details. So before saving the details I need to check whether the data is existing or not. In name if first name, last name and if dob arte same then no need to insert data.I am giving my code below if anyone knows please help.

                    EditText et1 = (EditText) findViewById (R.id.editText1);
                    EditText et2 = (EditText) findViewById (R.id.editText2);
                    EditText et3 = (EditText) findViewById (R.id.editText3);
                    EditText et4 = (EditText) findViewById (R.id.editText7);
                    EditText et5 = (EditText) findViewById (R.id.editText8);
                    EditText et6 = (EditText) findViewById (R.id.editText9);
                    EditText et7 = (EditText) findViewById (R.id.editText10);
                    EditText et8 = (EditText) findViewById (R.id.editText11);




                                String fname  = et1.getText().toString();

                                String mname  = et2.getText().toString();

                                String lname  = et3.getText().toString();

                                String bday   = et4.getText().toString();

                                String bmonth = et5.getText().toString();

                                String byear  = et6.getText().toString();

                                String mno    = et7.getText().toString();

                                String pem    = et8.getText().toString();

db.execSQL("INSERT INTO Data2 VALUES('"+fname+"', '"+mname+"','"+lname+"','"+bday+"', '"+bmonth+"','"+byear+"', '"+mno+"', '"+pem+"');");

                                  Toast.makeText(NumEntry.this, "Your details are successfully saved.", Toast.LENGTH_LONG).show();


推荐答案

检查数据库中是否已经存在行取决于此更新或插入您的数据:

Check if row already exist in database or not, and depending on this update or insert your data:

 public Long saveUser(Some values) {
            long rowId;
            String sql = "SELECT * FROM Data2 WHERE COLUMN_1 = ? AND COLUMN_2 = ?";
            Cursor cursor = getSqLiteDatabase().rawQuery(sql, new String[]{"column_value_1" ,"column_value_2"});
            if (cursor == null || !cursor.moveToFirst()) {
                //Insert new
                rowId = getSqLiteDatabase().insert(Data2, null, yourCV);
            } else {
                //Update
                String clause = "COLUMN_1 = ? AND COLUMN_2 = ?";
                String args[] = {"column_value_1" ,"column_value_2"};
                rowId = getSqLiteDatabase().update(User.DB_KEYS.TABLE.toString(), UserSqlStorage.saveUserCV(user), clause, args);
            }
            closeCursor(cursor);
            return rowId;
        }

这篇关于Android Sqlite如果不存在插入的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆