SQLite数据库
首先先建立SQLiteOpenHelper()的子类实现SQLiteOpenHelper中的OnCreate()方法和构造方法。 this class takes care of opening the database if it exists, creating it if it does not, and upgrading it as necessary. SQLiteOpenHelper()主要是提供数据库的对象,其中的getWriteableDatabase public class PersonSQLiteOpenHelper extends SQLiteOpenHelper
{
public PersonSQLiteOpenHelper(Context context)
{
super(context, "person.db", null, 1);
} /**
* 第一次被创建的时候调用的方法
*/
@Override
public void onCreate(SQLiteDatabase db)
{
db.execSQL("create table person(id primary key autoincrement,name varchar(20),number varchar(20)");
} @Override
public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2)
{ } } 有了SQLiteOpenHelper的子类后,就可建立其引用hrelper,用引用获得数据库db=helper.getWritableDataBase();
Db.execSQL(“select * from table”);
建立与数据库操作相关的类(选择)
public class PersonDao
{
private PersonSQLiteOpenHelper helper; public PersonDao(Context context)
{
helper = new PersonSQLiteOpenHelper(context);
}
/**
*
* @param name
* @param number
*/
public void add(String name, String number)
{
SQLiteDatabase db = helper.getWritableDatabase();
db.execSQL("insert into person(name,number) values(?,?)", new Object[] {
name, number });
db.close();
} /**
*
* @param name
* @return
*/
public boolean find(String name)
{
SQLiteDatabase db = helper.getReadableDatabase();
Cursor cursor = db.rawQuery("select *from person where name=?",
new String[] { name });
boolean result = cursor.moveToNext();
cursor.close();
db.close();
return result;
} /**
*
* @param name
* @param number
*/
public void update(String name, String number)
{
SQLiteDatabase db = helper.getWritableDatabase();
db.execSQL("update person set number=? where name=?", new Object[] {
number, name });
db.close();
} /**
*
* @param name
*/
public void delete(String name)
{
SQLiteDatabase db = helper.getWritableDatabase();
db.execSQL("delete from person where name=?", new Object[] { name });
db.close();
}
/**
*
* @return
*/
public List<Person> findAll()
{
SQLiteDatabase db = helper.getReadableDatabase();
Cursor cursor = db.rawQuery("select *from person", null);
ArrayList<Person> list = new ArrayList<Person>();
while (cursor.moveToNext())
{
int id = cursor.getInt(cursor.getColumnIndex("id"));
String name = cursor.getString(cursor.getColumnIndex("name"));
String number = cursor
.getString(cursor.getColumnIndex("number"));
Person person = new Person(id, name, number);
list.add(person);
}
return list;
}
} 事物
//开启事物
db.beginTransaction();
try
{
//标记事物执行成功
db.setTransactionSuccessful();
} finally
{
db.endTransaction();
}

最新文章

  1. Python之Web框架
  2. HTML5 本地存储 localStorage、sessionStorage 的遍历、存储大小限制处理
  3. 常用js或jq效果汇总
  4. 用 Jenkins 打包 iOS
  5. 生成uid的算法
  6. 串口调试,提示the given port name does not start with COM/com异常解决办法,,发现是打印机在搞怪
  7. HTML+CSS基础学习笔记(8)
  8. html中的空格可以用什么代替
  9. 公钥\私人 ssh避password登陆
  10. 《JAVA与模式》之单例模式 [转]
  11. VB6之图像灰度与二值化
  12. canvas将图片转为base64
  13. WebService就是这么简单
  14. bzoj3211花神游历各国 线段树
  15. MT【284】构造函数的导数的两类题型
  16. struts2 OGNL配和通用标签和其它标签的使用
  17. Selenium(基于JAVA语言)-》在eclipse上运行web项目在Mac系统上启动时提示nodename nor servname provided解决办法
  18. 将文件打包成apk
  19. Android Native层异步消息处理框架
  20. 【Servlet】web.xml中url-pattern的用法

热门文章

  1. 第一次Sprint总结
  2. C#写文本日志帮助类(支持多线程)
  3. js跳转页面方法大全
  4. Android中的消息通知(NotificationManager和Notification)
  5. Discuz的缓存体系
  6. 关于spring配置文件properties的问题
  7. Android:TextView 自动滚动(跑马灯) (转)
  8. Android 多语言
  9. C语言柔性数组
  10. C语言接口与实现实例