sqlite 数据库的操作
********创建***********
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
public class DataBaseOpenHelper extends SQLiteOpenHelper {
public static final String DATABASE_NAME = "my.db";
/**
* @param context 上下文
* @param name 数据库的名称
* @param factory 游标工厂 --CursorFactory factory一般情况下是不需要指定的
* @param version 版本 当我们的版本号更新的时候系统会自动调用onCreate(SQLiteDatabase db)这个方法
*
*/
public DataBaseOpenHelper(Context context,int version) {
super(context, DATABASE_NAME, null, version);
}
/**
* 1. 这个方法用于初始化数据库表,表结构的创建
*/
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE person (personid integer primary key autoincrement, name varchar(20), age integer)");
}
/**
* 当版本号更改的时候会调用这个方法 @Override
*/
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS person");
onCreate(db);
}
}
********操作***********
import java.util.ArrayList;
import java.util.List;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import cn.itcast.domain.Person;
import cn.itcast.sqlite.opendb.DataBaseOpenHelper;
public class DataBaseService {
private DataBaseOpenHelper opendb;
private SQLiteDatabase db ;
public DataBaseService(DataBaseOpenHelper opendb) {
this.opendb = opendb;
db = this.opendb.getReadableDatabase();
}
public void save(Person person) {
db.execSQL("insert into person(name,age) values(?,?)",new Object[]{person.getName(),person.getAge()})
相关文档:
今天很自然的在写Sql语句的时候用了Top,一开始没发现问题,因为我从数据库读出的值正好是0,而我习惯变量定义的时候也都赋值0,可是到我不要0的时候我就发现问题了。后来才知道,可爱的小sqlite竟然有不支持的sql语法。
看到某个论坛有个新手也发现了这个问题并发帖了,下面一牛人的回复是“top是哪家的关键词?s ......
本文以数据库中的数据表UserInfo为实例展示数据库表的创建及数据记录的录入。
#!/bin/sh
#variables definition
#database location
db=/conf/db
#
#create table userInfo
#name: User name
#passwd: Password
#Privilege: User privilege -- Administrator:0 Operator:1
#
echo "create table UserInfo(n ......
int column_names_printed = 0;
void print_row(int n_values, char** values)
{
int i;
for (i = 0; i < n_values; ++i) {
printf("%10s", values[i]);
}
printf("\n& ......
前一阵字做项目(嵌入式linux),由于要保存大量的数据,而且最长要保存30天的时间。本来打算保存到文件中,每次启动应用程序的时候重新解析一遍,可是当数据量很大的时候,就出现效率的问题了。所以最后还是放弃了使用文件的打算,决定使用数据库存取数据。
linux下的数据库也很多,有开源的,也有收费的。对于我们来说,肯 ......