基础篇1.7 SQLite

前端之家收集整理的这篇文章主要介绍了基础篇1.7 SQLite前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

基础篇1.7 sqlite

一、sqlite简介

1、 英文官网:http://www.sqlite.org/中文社区:http://www.sqlite.com.cn/

2、 Android 下的sqlite不需要身份验证,可以直接建立连接,且属于单文件数据库

3、 只需获得sqliteDatabase对象后,就可以通过其方法对数据进行操作,如execsql等。

二、使用adb访问sqlite

1、 进入到adb.exe所在的目录,输入adb shell,可以进入android的shell窗口中


2、 进入到shell界面后,此界面下的操作和linux操作类似,可以使用Linux的常用命令,如ll、ls、cd等。系统自带的一些程序,以及自己开发的一些程序在/data/data目录下,如图:

3、 查看数据库和表结构命令:sqlite3mydb3(mydb3为数据库的名字)可以进入到mydb3这个数据库中,.schema命令可以查看表结构。

4、 查看表中的字段信息。

三、sqlite的增、删、改、查

1、例子界面:

2、layout配置文件

<TableLayoutxmlns:android="http://schemas.android.com/apk/res/android"

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:orientation="horizontal"

tools:context=".MainActivity">

<TableRow>

<Button

android:id="@+id/open"

android:layout_height="wrap_content"

android:layout_width="wrap_content"

android:text="创建或者打开数据库"/>

<Button

android:id="@+id/close"

android:layout_height="wrap_content"

android:layout_width="wrap_content"

android:text="关闭数据库"/>

</TableRow>

<TableRow>

<Button

android:id="@+id/add"

android:layout_height="wrap_content"

android:layout_width="wrap_content"

android:text="新增"/>

<Button

android:id="@+id/modify"

android:layout_height="wrap_content"

android:layout_width="wrap_content"

android:text="修改"/>

</TableRow>

<TableRow>

<Button

android:id="@+id/query"

android:layout_height="wrap_content"

android:layout_width="wrap_content"

android:text="查询"/>

<Button

android:id="@+id/del"

android:layout_height="wrap_content"

android:layout_width="wrap_content"

android:text="删除"/>

</TableRow>

<TableRow>

<TextView

android:id="@+id/myTextView"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="显示内容"/>

</TableRow>

</TableLayout>

4、 源代码

packagecom.solidwang.sqllite;

importandroid.app.Activity;

importandroid.database.Cursor;

importandroid.database.sqlite.sqliteDatabase;

importandroid.os.Bundle;

importandroid.view.View;

importandroid.view.View.OnClickListener;

importandroid.widget.Button;

importandroid.widget.TextView;

importandroid.widget.Toast;

publicclass MainActivity extends Activity {

private sqliteDatabase sld;

private Button open,close,add,modify,query,del;

private TextView textView;

@Override

protected void onCreate(BundlesavedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

open = (Button)findViewById(R.id.open);

close = (Button)findViewById(R.id.close);

add = (Button)findViewById(R.id.add);

modify = (Button)findViewById(R.id.modify);

query = (Button)findViewById(R.id.query);

del = (Button)findViewById(R.id.del);

open.setOnClickListener(newOpenListener());

close.setOnClickListener(newCloseListener());

add.setOnClickListener(newAddListener());

query.setOnClickListener(newQueryListener());

del.setOnClickListener(newDelListener());

modify.setOnClickListener(newModifyListener());

}

class OpenListener implements OnClickListener {

@Override

public void onClick(View v) {

//创建或者打开数据库

createOrOpenDatabase();

}

}

class CloseListener implements OnClickListener{

@Override

public void onClick(View v) {

//关闭数据库

closeDatabase();

}

}

class AddListener implements OnClickListener {

@Override

public void onClick(View v) {

//插入数据

insert();

}

}

class QueryListener implements OnClickListener{

@Override

public void onClick(View v) {

//查询数据

query();

}

}

class DelListener implements OnClickListener {

@Override

public void onClick(View v) {

//删除数据

del();

}

}

class ModifyListener implements OnClickListener{

@Override

public void onClick(View v) {

modify();

}

}

private void createOrOpenDatabase() {

try {

sld =sqliteDatabase.openDatabase("/data/data/com.solidwang.sqllite/mydb3",null,sqliteDatabase.OPEN_READWRITE|sqliteDatabase.CREATE_IF_NECESSARY);

System.out.println("sld="+ sld);

setText("打开数据库");

String sql = "createtable if not exists students(sname varchar(20),sphone varchar(20));";

sld.execsql(sql);

} catch (Exception e) {

Toast.makeText(MainActivity.this,"创建数据库失败",Toast.LENGTH_LONG).show();

}

}

private void closeDatabase() {

sld.close();

setText("关闭数据库");

}

private void insert() {

createOrOpenDatabase();

String sql = "insert intostudents values('solidwang','123456');";

sld.execsql(sql);

setText("创建一条记录");

}

private void query() {

createOrOpenDatabase();

String sql = "select sname,sphone from students";

Cursor cursor = sld.rawQuery(sql,newString[]{});

String rs = "";

while(cursor.moveToNext()) {

rs = rs + cursor.getString(0)+ " " + cursor.getString(1);

}

setText(rs);

}

private void del() {

createOrOpenDatabase();

String sql = "delete fromstudents";

sld.execsql(sql);

setText("清空所有数据");

}

private void modify() {

createOrOpenDatabase();

String sql = "update studentsset sphone='2595411' where sname='solidwang'";

sld.execsql(sql);

setText("修改成功");

}

private void setText(String text) {

textView = (TextView)findViewById(R.id.myTextView);

textView.setText(text);

}

}

猜你在找的Sqlite相关文章