Sql中Insert添加语句如何不重复

来源:互联网 发布:去人声软件 编辑:程序博客网 时间:2024/06/16 00:07

在Insert中添加一个查询语句query,如果该列表中有查询值则返回false
代码如下:

//insert data    public boolean insertData(MyData data){        String str = "";        long resCode = -1L;        // 创建ContentValues对象        ContentValues values = new ContentValues();        // 向该对象中插入键值对,其中键是列名,值是希望插入到这一列的值,值必须和数据库当中的数据类型一致        //查询语句查该值        Cursor cursor = sqliteDatabase.query("user", new String[]{"id"}, "id = ?", new String[]{data.getId()}, null, null, null);        if(cursor!=null){            while(cursor.moveToNext()){                str = cursor.getString(0);            }        }        //判断是否存在        if(str.equals(data.getId())){            Toast.makeText(context, "添加失败", Toast.LENGTH_LONG).show();        }else{            values.put("id", data.getId());            values.put("name", data.getAddress());            resCode = sqliteDatabase.insert("user", null, values);        }        if(resCode == -1) return false;        return true;    }

activity部分代码:

case R.id.myButton_3:    // 获取值    text1 = myedittext1.getText().toString();    text2 = myedittext2.getText().toString();    MyData data = new MyData();    data.setId(text1);    data.setAddress(text2);    boolean res = myUtils.insertData(data);    if(res == true){        Toast.makeText(SQLiteActivity.this,"添加成功", Toast.LENGTH_LONG).show();    }else{        Toast.makeText(SQLiteActivity.this,"添加失败", Toast.LENGTH_LONG).show();        }    break;

class MyData:

package com.example.sqlite;import java.io.Serializable;public class MyData implements Serializable{    private String id = "";    private String address = "";    public String getId() {        return id;    }    public void setId(String id) {        this.id = id;    }    public String getAddress() {        return address;    }    public void setAddress(String address) {        this.address = address;    }}
0 0
原创粉丝点击