sqlite 创建数据库,增加删除更新查询数据

创建一个实体类声明变量以及其get和set方法

一个openhelper创建数据库更新版本等操作

两个活动,一个主活动输入数据,进行添加,更新,删除的操作

另一个活动显示查询的数据在自定义的listview里

public class MainActivity extends AppCompatActivity {
   
    private EditText edit_name;
    private EditText edit_phone;
    private MyOpenHelper myOpenHelper;
    private List<Person> lists;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        //获取实例
        myOpenHelper = new MyOpenHelper(getApplicationContext());
        myOpenHelper.getReadableDatabase();

        //创建实体类集合
        lists = new ArrayList<Person>();

        edit_name=findViewById(R.id.edit_name);
        edit_phone=findViewById(R.id.edit_phone);
    }
    //增加
    public void click1(View v) {
        String db_name=edit_name.getText().toString().trim();
        String db_phone=edit_phone.getText().toString().trim();
        //获取数据库对象
        SQLiteDatabase db = myOpenHelper.getWritableDatabase();
        ContentValues values1 = new ContentValues();
        values1.put("car",db_name);
        values1.put("way",db_phone);
        values1.put("address","湖南省长沙市天心区");
        values1.put("time","2018-08-16 15:47:00");
        long insert;
        if(TextUtils.isEmpty(db_name) || TextUtils.isEmpty(db_phone)) {
            insert=0;
        }else{
            long insert1 = db.insert("info", null, values1);
            insert=insert1;
        }
        Log.d("0013","insert is "+insert);
        //[3]数据库用完需要关闭
        db.close();
        if (insert>0) {
            Toast.makeText(getApplicationContext(), "插入成功", Toast.LENGTH_LONG).show();
            Log.d("001", "添加成功~! & insert : "+String.valueOf(values1));
        } else {
            Toast.makeText(getApplicationContext(),"插入失败,插入数据不能为空",Toast.LENGTH_LONG).show();
            Log.d("001", "插入失败,插入数据不能为空");
        }
    }
    //删除
    public void click2(View v) {
        SQLiteDatabase db = myOpenHelper.getWritableDatabase();
        int delete = db.delete("info", "car=?", new String[]{"宁ASD123"});
        db.close();
    }
    //更新
    public void click3(View v) {
        SQLiteDatabase db = myOpenHelper.getWritableDatabase();
        ContentValues values = new ContentValues();
        values.put("way", "电话");
        int updata = db.update("info", values, "car=?", new String[]{"宁ASD123"});
        db.close();
    }
    //查询

    public void click4(View v) {
        Intent intent=new Intent(MainActivity.this,NewActivity.class);
        startActivity(intent);
    }

}
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.TextView;

import java.util.ArrayList;
import java.util.List;

public class NewActivity extends AppCompatActivity{
    private List<Person> lists;
    private ListView lv1;
    private MyOpenHelper myOpenHelper;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_new);

        lists = new ArrayList<Person>();

        lv1 = findViewById(R.id.list1);
        myOpenHelper = new MyOpenHelper(getApplicationContext());

        SQLiteDatabase db = myOpenHelper.getWritableDatabase();
      
        lists.clear();
        Cursor cursor = db.query("info", null, null, null,null, null, null);
        if (cursor!=null&&cursor.getCount()>0){
            int querynum =0;//放到前面全局变量就每次都叠加,不清楚上一次查询结果,是错误的
            Log.d("0020","开始查询啦,以下为一次查询结果呦~!");
            while(cursor.moveToNext()){
                Person person=new Person();
                person.setCar(cursor.getString(1));
                person.setWay(cursor.getString(2));
                person.setAddress(cursor.getString(3));
                person.setTime(cursor.getString(4));
                querynum++;
                Log.d("002","query result : "+person.getCar()+" , "+person.getWay()+" , "+person.getAddress()+" , "+person.getTime());
                Log.d("003","query number is "+querynum);
                //把javabean对象加入到集合中
                lists.add(person);
            }

            lv1.setAdapter(new MyAdepter());
                Log.d("0021","此次查询结束啦~!");
        }
        db.close();

    }

    public class MyAdepter extends BaseAdapter {

        @Override
        public int getCount() {
            return lists.size();
        }

        @Override
        public Object getItem(int position) {
            return null;
        }

        @Override
        public long getItemId(int position) {
            return 0;
        }

        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            View v;
            if (convertView == null) {
                v = View.inflate(getApplicationContext(), R.layout.item_record, null);
            } else {
                v=convertView;
            }
        
            TextView tv_car = v.findViewById(R.id.tv_car);
            TextView tv_way = v.findViewById(R.id.tv_way);
            TextView tv_addr = v.findViewById(R.id.tv_addr);
            TextView tv_time = v.findViewById(R.id.tv_time);
       
            Person person=lists.get(position);
            tv_car.setText(person.getCar());
            tv_way.setText(person.getWay());
            tv_addr.setText(person.getAddress());
            tv_time.setText(person.getTime());
            return v;
        }
    }
}
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class MyOpenHelper extends SQLiteOpenHelper {
   
    public MyOpenHelper(Context context) {
        super(context, "record.db", null,2);
    }


    public void onCreate(SQLiteDatabase db) {
        db.execSQL("create table info(_id integer primary key autoincrement,car varchar(30),way varchar(30),address varchar(80),time varchar(50))");

    }


    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

    }
}

猜你喜欢

转载自blog.csdn.net/qq_38110571/article/details/81744876