SQL学习笔记之数据库专题(二):Android下SQL数据库开发(二)

2015-01-21 13:43:01 · 作者: · 浏览: 22
// db.close(); // // 系统API // // ContentValues = values = new ContentValues(); // // values.put("name",name); // // values.put("number",number); // // long id = db.insert(table(表名),null,values(数据)); // // return id; // // } /** * @Title: delete * @Description: 删除 * @param name * @throws */ public void delete(String name) { SQLiteDatabase db = dbHelper.getWritableDatabase(); db.execSQL("delete from person where name=?", new Object[] { name }); // 系统API // int number=db.delete("person","name=?",new String[]{name}); db.close(); } /** * @Title: updata * @Description: 更新 * @param name * @param newnumber * @throws */ public void updata(String name, String newnumber) { SQLiteDatabase db = dbHelper.getWritableDatabase(); db.execSQL("update person set number=? where name=?", new Object[] { newnumber, name }); // 系统API // ContentValues values = new ContentValues(); // values.put("number", newnumber); // int num = db.update("person", values, "name=?", new String[] { name // }); db.close(); } /** * @Title: find * @Description: 查询 * @param name * @return * @throws */ public boolean find(String name) { SQLiteDatabase db = dbHelper.getReadableDatabase(); Cursor cursor = db.rawQuery("select * from person where name =?", new String[] { name }); // 系统API // Cursor cursor = db.query(table(表名),null,"name=?",new // String[](name),null,null,null); boolean result = cursor.moveToNext(); cursor.close(); db.close(); return result; } /** * @Title: findAll * @Description:查询 * @return * @throws */ public List findAll() { List persons = new ArrayList(); SQLiteDatabase db = dbHelper.getReadableDatabase(); Cursor cursor = db.rawQuery("select * from person", null); // 系统API // Cursor cursor= db.query("Person",new // String[]{"name","id","number"},null,null,null,null,null); while (cursor.moveToNext()) { int id = cursor.getInt(cursor.getColumnIndex("id")); String name = cursor.getString(cursor.getColumnIndex("name")); String number = cursor.getString(cursor.getColumnIndex("number")); // String nickname = cursor.getString(cursor // .getColumnIndex("nickname")); Person p = new Person(id, name, number); persons.add(p); } cursor.close(); db.close(); return persons; } }

4、主Activity内代码

在activity内我们使用dao类对数据库进行操作。
package com.example.freedomsql;

import com.example.freedomsql.db.dao.PersonDao;

import android.app.Activity;
import android.app.ActionBar;
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.os.Build;

public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		PersonDao dao = new PersonDao(getBaseContext());
		dao.add("汤老板", "110");
		dao.add("郭大侠", "119");
		// dao.add("汤老板1", "110", "汤老板");
		// dao.add("郭大侠1", "119", "郭女侠");
	}
}
这里只对插入数据进行了操作,有兴趣的同学可以自己测试其他的操作也可以在dao类写其他的方法进行更复杂的操作。代码执行后数据库内容显示如图 \

二、数据库升级更新

在实际开发中,数据库肯定会有升级相关的操作,但是,数据库的升级自然不