android 中,关于特定的方法操作数据库。
来源:互联网 发布:怎么搜索淘宝达人账号 编辑:程序博客网 时间:2024/05/18 22:41
android中关于特定的方法操作数据库,写的不好的话。望大家见谅,希望对刚学习android的同学一点帮助,也是给自己的一点鼓励。
首先要知道android给了我们那些特定的方法操作sqlite数据库
一前大家操作数据数据库都是使用标准的sql语句,:比如:select * from studnets;这样的标准sql语句,而android提供的特定的sql语句又有哪些呢?
long SQLiteDatabase.insert(String table,String nullColumnHack,ContentValues values);
这个方法是实现添加功能的。如果添加成功,返回添加记录的行号,否则返回-1;
参数table为指定数据要添加到的表名
参数nullColumenHack用于指定空值字段的名称或强行插入null的值的数据列的列明,主要是用来构造合法的SQL语句,一般来说这个参数指定的列名不应该为主键或值为空的列名,强行插入null时会引发异常
参数values指要添加到表中的各个字段的数据值,如果values不为null并且元素的个数大于0,可以把第二个参数设为null,
不管第三个参数values是否包含数据,执行insert()方法都必然会添加一条数据,如果values为空,会添加一条除主键外其他字段都为空null的记录,
insert()方法的内部实际上是通过构造insert语句完成添加的,因此他声称的sql语句的形式总是如下:
insert into <表名>(key1,key2,key3,...)values(values1,values2,values3,....);
此时如果第三个参数Values为null,或者key-value对的个数为0,则生成的sql语句为:
inset into <表名>()values();
在添加数据时,insert方法的values参数的类型是ContentValues,这个类型和java中的map非常相似,都可以用来存储一些键值对,但他存储的键值对中的键是一个String类型,而值可以是任意基本类型,
ContentValues提供了存储数据对应的put(String key,xxx value)和getAsXXX(String key)的方法,其中key为字段名称,value为字段名称,xxx指的是各种常用的数据类型,如String,Integer....等。
查询语句:
Cursor SQLiteDatabase.query(String table,String [] columns,String selection,String[] selectionArgs,String groupBy,Stringhaving,String orderBy,String limit);
该方法专门用来查询,实际上就是把select拆分成若干个部分,然后作为方法的输入参数
table:表名
columns:要查询出来的列明,相当select语句,select关键字后的部分。
selection:查询条件子句。相当select语句where关键字后面的部分,可以用占位符“?”
selectionArgs:对应于selection语句中的占位符的值,值在数组中的位置顺序与占位符在语句中的位置顺序必须一致,否则就会有异常
groupBy:定义查询出来的数据是否分组。相当于select语句,group by 关键字后的部分。如果为null,说明不需要分组、
having:相当于select语句having关键字后面部分。
order By:相当于select语句order by关键字后面的部分,如果为null,说明不需要排序。
limint:指定偏移量和获取的记录数,相当于select语句imit关键字后面部分。
删除数据方法:
int SQLiteDatabase.delete(String table,String whereClause,String[] whereArgs);
该方法专门用于删除指定的数据,返回受此delete语句影响的行数
table:表名:
whereClause:满足该条件的记录会被删除,他相当于sql语句中的where部分,
whereArgs:对应于wherecaluse语句中占位符的值,值在数组中的位置与占位符在语句中的位置必须一致,否则就会抱异常。
修改数据方法:
int SQLiteDatabase.update(String table,ContentValues values,String WhereClause,String[] whereArgs);
该方法专门用于删除指定的数据,返回受此update语句影响的行数:
table:想要更新数据的表名
values:想要更新的数据:
whereClause:满足该子句的记录将会被更新。
whereArgs:用于为whereClause自己传入参数.
下面用一个实例给大家演示一下具体用法。
先看截图:
首先是主界面:
根据指定id查询:
全部查询
只是演示特定语法的用法。基本点非空验证,什么都没写。代码优化的也不够完全,大家多多包涵。
下面试代码:
首先是项目的整体布局。
main.xml
ListView用到到布局,listview
对话框用到的布局,
students类代码:
Dbopenhelper类代码如下,此类用于创建数据库。
StudentService类代码:为业务逻辑类。完成CRUD操作。
Activity类。代码:
具体的实现步骤就是这样。希望对有需要的同学有点帮助。写的不好的话。望大家多多包涵。
- android 中,关于特定的方法操作数据库。
- 使用特定的方法操作SQLite数据库
- 关于Android中内容操作数据库失败的原因及修改方法
- 关于Activiti中taskService的addUserIdentityLink方法的数据库操作
- 使用特定方法操作SQLite数据库
- 使用特定方法操作SQLite数据库
- 在数据库中查询特定日期数据的方法
- Android SQLite数据库之三,使用特定方法操作SQLite数据库
- android中关于图片操作的一些方法
- Android中SQLite数据库操作(2)——使用SQLiteDatabase提供的方法操作数据库
- 关于php PDO操作数据库的方法
- android中数据库的操作
- 关于EditText特定类型输入的方法
- java中关于数据库的操作
- 数据库中关于时间获取的操作
- MATLAB中关于MySQL数据库的操作
- 关于OleDbCommand中操作数据库的几种方法的区别
- 查询整个数据库中某个特定值所在的表和字段的方法
- problem 12 f(n) = f(n-1) + n 数列中第一个
- mysql 内连接和外连接
- 木妹的代码头文件
- 菜鸟学堂 -【Python struct】
- 限制多行文本输入字符限制和显示
- android 中,关于特定的方法操作数据库。
- Connecting to Oracle on 64-bit (x64) machine
- 深入探讨用位掩码代替分支(8):SSE指令集速度测试
- java RC4 32 x,y
- C++中extern “C”含义深层探索
- wp7调用SkyDrive API功能概述
- u-boot2011.12在mini2440上的移植2
- 人工智能资料
- Android基站定位源代码