`
oywl2008
  • 浏览: 1053269 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

SQLite 数据库操作

 
阅读更多
package com.example.njupt.zhb.sqlite1;
import java.util.ArrayList;
import java.util.List;
import android.os.Bundle;
import android.util.Log;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.Toast;
import android.app.Activity;
import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.view.View;
import android.view.View.OnClickListener;
public class MainActivity extends Activity implements OnClickListener{
    public static final String DB_NAME="studentdata.db";
    Button insertBtn;
    Button updataGBtn;
    Button updataABtn;
    Button deleteBtn;
    Button selectBtn;
    Button displayBtn;
    Button closeBtn;
    ListView mListView;
    SQLiteDatabase db;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mListView=new ListView(this);
        BtnInit();
        OpenCreateDB();
    }
    public void OpenCreateDB(){
    	db = openOrCreateDatabase(DB_NAME, this.MODE_PRIVATE, null);
        db.execSQL("DROP TABLE IF EXISTS students");  
        db.execSQL("CREATE TABLE IF NOT EXISTS students (_id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR, age INTEGER,grade INTEGER, info VARCHAR)");
    }
    //插入数据到students表
    public void InsertData(){
    	Student liSi =new Student("李四", 22, 87, "南京邮电大学 通信工程");
        Student liHua = new Student("李华", 23, 78, "南京邮电大学 软件工程");
        db.execSQL("INSERT INTO students VALUES (NULL,?,?,?,?)", new Object[]{"张三",21,98,"南京邮电大学 电子信息工程"});
        db.execSQL("INSERT INTO students VALUES (NULL,?,?,?,?)", new Object[]{liSi.name,liSi.age,liSi.grade,liSi.info});
        db.execSQL("INSERT INTO students VALUES (NULL,'王五',19,99,'南京邮电大学 网络工程')");
        ContentValues cvOfLiHua = new ContentValues();
        cvOfLiHua.put("name", liHua.name);
        cvOfLiHua.put("age", liHua.age);
        cvOfLiHua.put("grade", liHua.grade);
        cvOfLiHua.put("info", liHua.info);
        db.insert("students", null, cvOfLiHua);
        Log.d("msg","插入结束");
        Toast.makeText(this, "插入数据完成!", Toast.LENGTH_SHORT).show();
    }
    public void UpdateGrade(){
    	ContentValues cv = new ContentValues();  
    	cv.put("grade", 85);  
    	//更新数据,将李四的成绩改为85分
    	db.update("students", cv, "name = ?", new String[]{"李四"});  
    	Log.d("msg","李四的成绩已更新");
    	Toast.makeText(this, "李四的成绩已更新", Toast.LENGTH_SHORT).show();
    }
    public void UpdateAge(){
    	String sqlString="UPDATE students SET age=18 WHERE grade= 78";
    	db.execSQL(sqlString);
    	Log.d("msg","李华的年龄已更新");
    	Toast.makeText(this, "李华的年龄已更新", Toast.LENGTH_SHORT).show();
    }
    public void Delete(){
    	db.execSQL("DELETE FROM students WHERE name='张三'");
    	Log.d("msg","张三的信息已经被删除");
    	Toast.makeText(this, "张三的信息已经被删除", Toast.LENGTH_SHORT).show();
    }
    public void Select(){
    	List<String> list=new ArrayList<String>();
    	Cursor c = db.rawQuery("SELECT * FROM students WHERE grade >= ?", new String[]{"86"});
    	Log.d("msg","--------------大于86分的同学----------------------------");
    	while (c.moveToNext()) {
        	Student person = new Student();
        	person._id = c.getInt(c.getColumnIndex("_id"));
        	person.name = c.getString(c.getColumnIndex("name"));
        	person.grade=c.getInt(c.getColumnIndex("grade"));
        	person.age = c.getInt(c.getColumnIndex("age"));
        	person.info = c.getString(c.getColumnIndex("info"));
        	String string=""+person._id+" "+person.name+" "+person.grade+" "+person.age+" "+person.info;
        	list.add(string);
        	Log.d("msg",string);
        }
        c.close();
        ArrayAdapter<String> adapter=new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1,list);
        mListView.setAdapter(adapter);
    }
    public void Display(){
    	List<String> list=new ArrayList<String>();
    	Cursor c = db.rawQuery("SELECT * FROM students", null);
        while (c.moveToNext()) {
        	Student person = new Student();
        	person._id = c.getInt(c.getColumnIndex("_id"));
        	person.name = c.getString(c.getColumnIndex("name"));
        	person.grade=c.getInt(c.getColumnIndex("grade"));
        	person.age = c.getInt(c.getColumnIndex("age"));
        	person.info = c.getString(c.getColumnIndex("info"));
        	String string=""+person._id+" "+person.name+" "+person.grade+" "+person.age+" "+person.info;
        	list.add(string);
        	Log.d("msg",string);
        }
        c.close();
        ArrayAdapter<String> adapter=new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1,list);
        mListView.setAdapter(adapter);
    }
    public void Close(){
    	db.close();
    }
    public void BtnInit(){
    	insertBtn=(Button)findViewById(R.id.insert);
        updataGBtn=(Button)findViewById(R.id.updataG);
        updataABtn=(Button)findViewById(R.id.updataA);
        deleteBtn=(Button)findViewById(R.id.delete);
        selectBtn=(Button)findViewById(R.id.select);
        displayBtn=(Button)findViewById(R.id.display);
        closeBtn=(Button)findViewById(R.id.close);
        mListView=(ListView)findViewById(R.id.listview);
        insertBtn.setOnClickListener(this);
        updataABtn.setOnClickListener(this);
        updataGBtn.setOnClickListener(this);
        deleteBtn.setOnClickListener(this);
        selectBtn.setOnClickListener(this);
        displayBtn.setOnClickListener(this);
        closeBtn.setOnClickListener(this);
    }
	@Override
	public void onClick(View v) {
		// TODO Auto-generated method stub
		switch(v.getId()){
		case R.id.insert:
			InsertData();
			break;
		case R.id.updataA:
			UpdateAge();
			break;
		case R.id.updataG:
			UpdateGrade();
			break;
		case R.id.display:
			Display();
			break;
		case R.id.delete:
			Delete();
			break;
		case R.id.select:
			Select();
			break;
		case R.id.close:
			Close();
			break;
		}
	}
}

 

 

http://blog.csdn.net/nupt123456789/article/details/7891887

 

 

 

分享到:
评论

相关推荐

    Android实验报告Sqlite数据库操作.pdf

    Android SQLite 数据库操作报告 一、实验目的 Android 实验报告的主要目的是熟悉 Android 平台的文件操作、掌握 Android SQLite 数据库的设计和应用、熟悉 XML 和 JSON 文件的读取。通过本实验,用户可以掌握 ...

    Qt sqlite 数据库操作封装

    总结起来,Qt的SQLite数据库操作封装涉及到以下几个关键点: 1. 生成和打开数据库文件。 2. 执行SQL语句,包括查询、插入、更新和删除。 3. 设计接口,提供增删改查的重载功能。 4. 实现事务管理,确保数据一致性。 ...

    IOS sqlite数据库操作

    在`sqlitDemo`项目中,你可能可以找到一个简单的SQLite数据库操作示例,包括创建数据库、表格,以及插入、查询、更新和删除数据等操作。通过研究这个示例,你可以更好地理解如何在实际的iOS应用中使用SQLite数据库。

    C#分享辅助类:SQLite数据库操作(SQLiteDao)

    总之,`SQLiteDao`类是C#中对SQLite数据库操作的抽象封装,它使得数据库操作更加简洁、安全且易于维护。通过结合其他辅助类,如扩展方法和加密工具,我们可以构建一个强大而全面的数据库操作框架,满足各种项目需求...

    SqLite数据库操作工具

    SQLite数据库操作工具使得用户能够方便地管理和操作SQLite数据库,进行数据的增删改查等操作,而无需深入了解复杂的SQL语法或数据库管理系统。 SQLite Studio是一款非常实用的SQLite数据库管理工具,它提供了一个...

    Android SQLite数据库操作Demo

    在这个"Android SQLite数据库操作Demo"中,我们将探讨如何在Android应用中创建、查询、更新和删除SQLite数据库的数据。 1. **数据库初始化** 在Android中,我们通常通过扩展SQLiteOpenHelper类来初始化SQLite...

    SQLite数据库操作

    SQLite数据库操作,供大家一起共同分享学习。

    C# SQLite数据库操作

    总结来说,C#结合System.Data.SQLite库提供了强大且灵活的SQLite数据库操作能力,无论是创建数据库、定义表结构,还是进行增删改查等操作,都可以通过简单的代码实现。在VS2008环境下,开发者可以借助这个工具包快速...

    Android SQLite数据库操作demo

    本篇将基于一个名为"Android SQLite数据库操作demo"的示例项目,探讨如何在Android中进行SQLite数据库的相关操作。原作者的博客地址为http://blog.csdn.net/liuhe688/article/details/6715983。 首先,我们来看一下...

    AndroidStudio Sqlite数据库操作

    Sqlite数据库操作

    Delphi XE Sqlite 数据库操作案例程序.rar

    SQLite数据库操作在Delphi中的实现通常依赖于特定的组件或库,如TSQLConnection、TSQLDataset等。 首先,让我们看看数据库连接的部分。在Delphi中,我们通常会使用ADO(ActiveX Data Objects)或ODBC(Open ...

    QT连接Sqlite数据库操作

    QT连接Sqlite数据库操作 在QT开发中,连接Sqlite数据库是一种常见的操作。通过本文,读者将了解如何使用QT连接Sqlite数据库,並实现基本的数据库操作。 一、QT连接Sqlite数据库的准备工作 在使用QT连接Sqlite...

    Sqlite数据库操作类,内含调用说明

    下面将详细解释Sqlite数据库操作类的相关知识点,包括其工作原理、单例模式的应用以及如何进行调用。 一、Sqlite数据库基本操作 1. 数据库创建:使用SQLiteOpenHelper子类,重写onCreate()方法,这里会执行数据库...

    sqlite浏览器,sqlite数据库操作工具

    综上所述,SQLiteBrowser作为一个强大的SQLite数据库操作工具,为开发者和非开发者提供了一个直观的环境,便于进行数据库的创建、管理、查询以及数据的导入导出。无论是进行开发工作还是日常的数据管理,...

    sqlite数据库操作工具类(含jsqlite.jar包)

    总的来说,`sqlite数据库操作工具类(含jsqlite.jar包)`提供了便捷的方式来管理SQLite数据库,简化了Java应用程序中的数据库操作。通过`DBManager.java`工具类,开发者可以快速集成SQLite功能,而无需深入了解底层的...

    sqlite数据库操作软件

    "SQLite数据库操作软件"指的是一个专为SQLite设计的图形用户界面(GUI)工具,它使用户能够方便地进行数据库的创建、查询、更新、删除等操作,而无需深入理解复杂的SQL语法。 该软件被描述为"非常不错的绿色",这...

    SQLite数据库操作封装

    这个项目的核心在于"SQLite数据库操作封装",它允许开发者通过简单的API调用来执行常见的数据库任务,如创建表、插入数据、查询数据以及事务处理。具体来说,`SQLiteOperate.dcu`和`uTestSqlite.dcu`可能是包含封装...

    android SQLite数据库操作源码

    android SQLite数据库操作源码,包括如何建表,增删改查等操作

    sqlite数据库操作码源

    三、SQLite数据库操作码源 "码源"在这里可能指的是SQLite的API函数,用于执行数据库操作。以下是一些常见的SQLite操作: 1. 打开数据库: 使用`sqlite3_open()`函数打开一个数据库连接。例如: ```c sqlite3 *db...

Global site tag (gtag.js) - Google Analytics