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) {

    }
}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用 Eclipse 实现SQLite 数据库中增加删除查询数据的示例代码: 1. 引入 SQLite JDBC 驱动 在项目中引入 SQLite JDBC 驱动,可以到 SQLite 官网下载最新版的 JDBC 驱动,然后将其添加到项目的 classpath 中。 2. 创建数据库连接 使用 JDBC 连接字符串连接到 SQLite 数据库: ``` String url = "jdbc:sqlite:/path/to/database.db"; Connection conn = DriverManager.getConnection(url); ``` 其中,`/path/to/database.db` 为 SQLite 数据库的路径。 3. 创建表 在 SQLite 中创建表的 SQL 语句如下: ``` CREATE TABLE table_name ( column1 datatype, column2 datatype, column3 datatype, ... ); ``` 例如,创建名为 `users` 的表,包含 `id` 和 `name` 两个列: ``` String sql = "CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT)"; Statement stmt = conn.createStatement(); stmt.execute(sql); ``` 4. 插入数据SQLite 中插入数据的 SQL 语句如下: ``` INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...); ``` 例如,向 `users` 表中插入一条数据: ``` String sql = "INSERT INTO users (name) VALUES ('Alice')"; Statement stmt = conn.createStatement(); stmt.executeUpdate(sql); ``` 5. 删除数据SQLite删除数据的 SQL 语句如下: ``` DELETE FROM table_name WHERE condition; ``` 例如,删除 `users` 表中名为 `Alice` 的记录: ``` String sql = "DELETE FROM users WHERE name = 'Alice'"; Statement stmt = conn.createStatement(); stmt.executeUpdate(sql); ``` 6. 查询数据SQLite查询数据的 SQL 语句如下: ``` SELECT column1, column2, ... FROM table_name WHERE condition; ``` 例如,查询 `users` 表中所有记录: ``` String sql = "SELECT * FROM users"; Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery(sql); while (rs.next()) { int id = rs.getInt("id"); String name = rs.getString("name"); System.out.println("ID = " + id + ", Name = " + name); } ``` 完整代码示例: ```java import java.sql.*; public class SQLiteExample { public static void main(String[] args) { String url = "jdbc:sqlite:/path/to/database.db"; try { Connection conn = DriverManager.getConnection(url); // Create table String sql = "CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT)"; Statement stmt = conn.createStatement(); stmt.execute(sql); // Insert data sql = "INSERT INTO users (name) VALUES ('Alice')"; stmt.executeUpdate(sql); // Query data sql = "SELECT * FROM users"; ResultSet rs = stmt.executeQuery(sql); while (rs.next()) { int id = rs.getInt("id"); String name = rs.getString("name"); System.out.println("ID = " + id + ", Name = " + name); } // Delete data sql = "DELETE FROM users WHERE name = 'Alice'"; stmt.executeUpdate(sql); // Close connection conn.close(); } catch (SQLException e) { System.out.println(e.getMessage()); } } } ``` 注意:以上代码示例为简化版,实际开发中需要进行错误处理、异常处理和资源释放等操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值