[android] sql语句实现数据库的增删改查

[android] sql语句实现数据库的增删改查,第1张

概述Javaweb实现增删改查的步骤,1.加载jdbc的驱动,2.连接到数据库 3.准备sql语句, Android中加载驱动已经完成了,拿到数据库的引用就是链接数据库了。 获取SQLiteda

Javaweb实现增删改查的步骤,1.加载jdbc的驱动,2.连接到数据库 3.准备sql语句,

AndroID中加载驱动已经完成了,拿到数据库的引用就是链接数据库了。

获取sqlitedatabase 对象,调用上一节中helper对象的getWritableDatabase()方法

调用sqlitedatabase 对象的execsql()方法,执行sql语句

例如:insert into person (name) values(”taoshihan”)

      Select * from person

      Update person set name=”tsh” where ID=1

      Delete from person where ID=1

 

一般情况下,给数据访问层建个包叫dao,建个classPersonDao,创建构造方法,在里面初始化helper,参数是Context上下文,获取到sqliteDatabase对象后记得要调用close()方法

 

AndroID中为了防止特殊字符,db对象提供了个带有占位符的方法execsql(sql,Object[])sql语句参数部分用?代替,object[] 数组里面放参数变量。

查询部分,调用db对象的rawquery(sql,selectArgs),参数:sql语句和String[] 数组,返回Cursor对象结果集,调用Cursor对象的movetoNext()判断是否能移动到下一条,返回bool,结果集也要close()

 

查询全部,返回一个List集合,List里面是每一个条目,包装一个Person对象放进去,新建一个domain包,里面定义属性和set get方法,同样是调用db对象的rawquery方法,得到Cursor游标对象,while(cursor.movetoNext()){}循环一下,往下移动一条,如果到最后一条会false。循环里面调用Cursor对象的getInt(columnIndex)参数是字段索引,索引可以通过getColumnIndex(columnname),参数是字段名得到。Person业务对象加个toString()方法,方便 打印使用。

 

dao代码:

package com.tsh.database.dao;import java.util.ArrayList; java.util.List; com.tsh.database.PersonsqliteOpenHelper; com.tsh.database.domain.Person; androID.content.Context; androID.database.Cursor; androID.database.sqlite.sqliteDatabase;public class PersonDao {    private PersonsqliteOpenHelper helper;    public PersonDao(Context context){        helper=new PersonsqliteOpenHelper(context);            }    /**     * 增加一条     * @param name     */    voID add(String name){        sqliteDatabase db=helper.getWritableDatabase();        db.execsql("insert into person (name) values(?)", Object[]{name});        db.close();    }         * 查询全部     * @return     public List<Person> select(){        List<Person> persons=new ArrayList<Person>();        sqliteDatabase db=helper.getReadableDatabase();        Cursor cursor=db.rawquery("select * from person",1)">null);        while(cursor.movetoNext()){            int ID=cursor.getInt(cursor.getColumnIndex("ID"));            String name=cursor.getString(cursor.getColumnIndex("name"));            Person person= Person(ID,name);            persons.add(person);        }                cursor.close();        db.close();        return persons;    }    }

测试用例:

 com.tsh.database.test; com.tsh.database.dao.PersonDao; androID.test.AndroIDTestCase;class TestPersonDb extends AndroIDTestCase {    voID testPerson() throws Exception{        PersonsqliteOpenHelper helper = PersonsqliteOpenHelper(getContext());        helper.getWritableDatabase();    }         * 测试添加     * @throws Exception     voID testAdd()  Exception{        PersonDao dao= PersonDao(getContext());        dao.add("taoshihan");    }         * 测试查询     * voID testSelect()  PersonDao(getContext());        List<Person> persons=dao.select();        for(Person p:persons){            System.out.println(p.toString());        }    }    }

总结

以上是内存溢出为你收集整理的[android] sql语句实现数据库的增删改查全部内容,希望文章能够帮你解决[android] sql语句实现数据库的增删改查所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1121114.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存