数据库的操作


//创建表

createtable    person(_id  integer primary key  autoincrement,namevarchar(32),age  integer)

//插入数据

insertinto person values(1,"bojie",18)

insertinto person values(2,"pange",18)

//删除数据

deletefrom person where name="pange"

//查询数据

select  name from person where _id=2

//修改数据

update person setname="pange+tanji"   wherename="pange"

sqlite


public class MySqliteHelper extends SQLiteOpenHelper {

/**

* version 1

* factory 数据查找的游标   默认null>>> cursor

* name  数据库名

* @param context

*/

public MySqliteHelper(Contextcontext) {

super(context,"my.db", null, 1);

// TODO Auto-generatedconstructor stub

}

@Override

public voidonCreate(SQLiteDatabase db) {

db.execSQL("create tableperson (_id  integer primary key  autoincrement,name varchar(32),age  integer)");

}

Dao层


publicclass PersonService {

private MySqliteHelper helper;

public PersonService(Context context) {

helper = new MySqliteHelper(context);

}

/**

* 插入数据

* @param p

*/

publicvoid insert (Person p){

SQLiteDatabase db = helper.getWritableDatabase();

//db.execSQL("insert intoperson values("+p.getName()+","+p.getAge()+")");

if(db.isOpen()){

db.execSQL("insert  into person(name,age)values (?,?)", new Object[]{p.getName(),p.getAge()});

}

db.close();

}

/**

* 删除数据

* @param name

*/

publicvoid del (String name){

SQLiteDatabase db = helper.getWritableDatabase();

if(db.isOpen()){

db.execSQL("delete from person where name=?", new String[]{name});

}

db.close();

}

/**

* 修改数据

* @param oldName

* @param newName

*/

publicvoid update (String oldName,StringnewName){

SQLiteDatabase db = helper.getWritableDatabase();

if(db.isOpen()){

db.execSQL("update person set  name=? where name=?", new String[]{newName,oldName});

}

db.close();

}

/**

* 查询所有数据

* @return

*/

public List<Person> getAll(){

List<Person>  lists=new ArrayList<Person>();

SQLiteDatabase db = helper.getReadableDatabase();

if(db.isOpen()){

Cursor cursor =db.rawQuery("select name ,age from person", null);

if(cursor!=null&&cursor.getCount()>0){

while(cursor.moveToNext()){

String name =cursor.getString(0);

int age = cursor.getInt(1);

Person person=new Person(name, age);

lists.add(person);

}

}

cursor.close();

return lists;

}

db.close();

returnnull;

}

/**

* 查询对应的数据

* @param id

* @return

*/

public Person getPersonById(int id){

SQLiteDatabase db = helper.getReadableDatabase();

Person person=new Person();

if(db.isOpen()){

Cursor cursor =db.rawQuery("select name,age from person where _id=? ", new String[]{String.valueOf(id)});

if(cursor!=null&&cursor.getCount()>0){

if(cursor.moveToLast()){

String name =cursor.getString(0);

person.setName(name);

int age = cursor.getInt(1);

person.setAge(age);

}

}

cursor.close();

return person;

}

db.close();

returnnull;

}

/**

* 查找姓名是否存在

* @param name

* @return

*/

publicboolean getPersonByName(String name){

boolean flag = false;

SQLiteDatabase db = helper.getReadableDatabase();

if(db.isOpen()){

Cursor cursor =db.rawQuery("select count(*)from person where name =?", new String []{name});

if(cursor != null && cursor.getCount()>0){

if(cursor.moveToLast()){

int count = cursor.getCount();

flag = true;

}

}

cursor.close();

}

db.close();

return flag;

}

Activity代码


protectedvoid onCreate(Bundle savedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

lv = (ListView) findViewById(R.id.lv);

//获取数据所有的值

dao = newPersonService(getApplicationContext());

persons = dao.getAll();

//适配器

MyAdapter adapter=new MyAdapter();

lv.setAdapter(adapter);

}

privateclass MyAdapter extends BaseAdapter{

@Override

publicint getCount() {

// TODO Auto-generated method stub

returnpersons.size();

}

@Override

public Object getItem(int position) {

// TODO Auto-generated method stub

returnnull;

}

@Override

publiclong getItemId(int position) {

// TODO Auto-generated method stub

return 0;

}

@Override

public View getView(int position, View convertView,ViewGroup parent) {

View view;

ViewHolder holder=new ViewHolder();

if(convertView==null){

view=View.inflate(getApplicationContext(),R.layout.lv_item, null);

view.setTag(holder);

}else{

view=convertView;

holder=(ViewHolder)view.getTag();

}

//加载相应的控件

holder.tv_name=(TextView) view.findViewById(R.id.tv_name);

holder.tv_age=(TextView) view.findViewById(R.id.tv_age);

//填充数据

Person person = persons.get(position);

holder.tv_name.setText(person.getName());

//注意里面值类型

holder.tv_age.setText(String.valueOf(person.getAge()));

return view;

}

}

privatestaticclass ViewHolder{

TextView tv_name;

TextView tv_age;

}

时间: 2024-08-05 03:03:34

数据库的操作的相关文章

Mysql数据库常用操作

1.备份数据库 [[email protected] ~]# mysqldump -h 192.168.0.8 -uroot  -p'123456'  user >user.sql 2.查看mysql数据库字符集设置 mysql> show variables like 'character_set_%';+--------------------------+----------------------------+| Variable_name            | Value    

使用 SQLiteOpenHelper 对数据库进行操作

SQLiteOpenHelper 是android提供的一个帮助类,这个类是抽象的,通过实现这个类,可以帮助开发者实现对SQLITE数据库的创建以及数据库版本管理,使用SQLiteOpenHelper打开数据库如果数据库存在则不创建,如果不存在则创建它(此时执行的是onCreate方法). public DatabaseHelper(Context context, String name, CursorFactory factory, int version) 第一个参数:Context类型,

Android-Sqlite数据库的操作

设置增删改查的按钮,xml界面布局设置 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="

JDBC增删改数据库的操作

JDBC入门及简单增删改数据库的操作 一.JDBC的引入 1.JDBC的概念 JDBC:Java Database Connection,表示数据库连接(任何数据库都支持JDBC的连接),是一个独立于特定数据库管理系统.通用的sql数据库存取和操作的公共接口.它是java中专门提供的一组用于操作数据库的标准,所有的数据库生产商如果要是想为java提供支持,则必须支持此标准.既然是标准的话,所以说JDBC实际上是一套访问数据库的接口. 2.常用操作类/接口 Connection接口.Stateme

bottle框架学习(八)之Mysql数据库的操作

MySQLdb 是用于Python连接Mysql数据库的接口. 安装MySQLdb [[email protected] bottle]# yum install MySQL-python –y 如果使用编译安装请到这里下载安装包https://pypi.python.org/pypi/MySQL-python并执行以下命令 [[email protected] bottle]# gunzip  MySQL-python-1.2.3.tar.gz [[email protected] bottl

mysql数据库表操作及授权

表操作:增删改查 把/etc/passwd文件的内容导入 passwd表里. mysql>load data infile"/etc/passwd" into table passwd fields terminated by ":"; 基于前面的passwd表,完成下列操作: 1:列出uid低于500且3个字母的用户 mysql> select name from passwd where uid<500 and name like "

(四)SQL入门 数据库的操作与事务管理

数据库的操作,有三个最基本的语句,insert插入,update修改,delete删除. 不同的数据库厂商的实现可能不同,所以就不说具体的语法怎么写的了.说语法也没有意义,到处都可以复制粘贴,记得听某个视频,里面说,当程序员很简单,就是Ctrl+C,Ctrl+V. 知道了数据库操作的三个基本操作,下面说说一个新的名词.事务. 什么是事务呢?之前我在绵阳去新的地方上班的时候,那个时候,那个时候,我还不知道什么是事务,现在上班的地方有个同事毕业半年多了,已经转正了,貌似也不知道.这个名称呢,听上去会

WinPhone开发数据库相关操作总结

1.首先来说下wp对.sqlite数据库的操作支持,从google,百度,codeplex..等等网站找寻到以下方式: (1)最古老的要数引用第三方Community.CsharpSqlite.WP.dll程序集来使用的(注意:如果你要操作现有存在的.sqlite数据库,而不是自己从头开始创建数据表,添加数据...等,那么你需要在codeplex网站上找到这个源码,进行相应的修改,这样才能够支持使用,不然会碰到很郁闷的"无法打开数据库连接.."之类的错误) (2)第二种跟第一种有所类似

SQLSERVER 数据库基础操作

1.修改表中字段的长度,类型为varchar,从30改到50 语句执行(注:当前为30): alter table 表名 alter column 列名 varchar(50) 2.增加字段: alter table 表名 add 字段 varchar(50) SQLSERVER 数据库基础操作,布布扣,bubuko.com

perl脚本中对数据库的操作

perl中DBI模块为mysql数据库相关操作的接口,首先需要在环境中安装DBI模块.perl处理数据库操作的大致步骤如下:#声明使用DBI模块use DBI;#设置数据库连接参数,指定连接数据库名,数据库所在服务器ip地址,连接用户名,密码# db_name为要连接的数据库名,ip为数据库所在服务器ip地址my $database='DBI:mysql:database=db_name;host=ip';my $user='user_name';my $pw='password';#连接数据库