android sql语句博客,通过SQL语句查询

a4c26d1e5885305701be709a3d33442f.png

在main.xml中:

encoding="utf-8"?>

xmlns:android="http://schemas.android.com/apk/res/android"

android:id="@+id/mylayout"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:orientation="vertical"

android:gravity="center_horizontal">

android:id="@+id/findBut"

android:layout_marginTop="8dp"

android:background="#0066ff"

android:textColor="#ffffff"

android:layout_width="100dp"

android:layout_height="40dp"

android:text="查询全部数据" />

在MyDatabaseHelper.java类中:

package com.li.sqlite;

//数据库的辅助操作类

import android.content.Context;

import android.database.sqlite.SQLiteDatabase;

import android.database.sqlite.SQLiteOpenHelper;

public class MyDatabaseHelper extends SQLiteOpenHelper {

private static final String DATABASENAME =

"liyewen.db" ;

private static final int DATABASERVERSION = 1

; // 设置数据库的版本

private static final String TABLENAME =

"mytab" ;

public MyDatabaseHelper(Context context)

{ // 用户最关心的也肯定只是Context

super(context, DATABASENAME, null, DATABASERVERSION);

}

@Override

public void onCreate(SQLiteDatabase db) { //

创建数据表

String sql = "CREATE TABLE " + TABLENAME + "("

+ "id INTEGER PRIMARY KEY ,"  // 在SQLite中设置为Integer、PRIMARY

KEY则ID自动增长

+ "name  VARCHAR(50)  NOT NULL

,"

+ "birthday DATE NOT  NULL" +

")";

db.execSQL(sql) ; // 执行SQL

System.out.println("****************** 创建:onCreate()。");

}

@Override

public void onUpgrade(SQLiteDatabase db, int

oldVersion, int newVersion) {

String sql = "DROP TABLE IF EXISTS " + TABLENAME ;

db.execSQL(sql) ;

System.out.println("****************** 更新:onUpgrade()。");

this.onCreate(db) ;

}

}

在MytabCursor.java类中:

package com.li.sqlite;

import java.util.ArrayList;

import java.util.List;

import android.database.Cursor;

import android.database.sqlite.SQLiteDatabase;

public class MytabCursor {

private static final String TABLENAME =

"mytab" ;

private SQLiteDatabase db = null ;

public MytabCursor(SQLiteDatabase db) {

this.db = db ;

}

public

List find(){

List all = new

ArrayList() ; //

此时只是String

String sql = "SELECT id,name,birthday FROM " + TABLENAME ;

Cursor result = this.db.rawQuery(sql, null); // 执行查询语句

for (result.moveToFirst(); !result.isAfterLast();

result.moveToNext()) { // 采用循环的方式检索数据

all.add("【" + result.getInt(0) + "】" + " " +

result.getString(1)

+ "," + result.getString(2));

}

this.db.close() ;

return all ;

}

}

在MySQLiteDemo.java中:

package com.li.sqlite;

import android.app.Activity;

import android.database.sqlite.SQLiteOpenHelper;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.ArrayAdapter;

import android.widget.Button;

import android.widget.LinearLayout;

import android.widget.ListView;

public class MySQLiteDemo extends Activity {

private Button findBut = null;

private SQLiteOpenHelper helper = null;

private LinearLayout mylayout = null;

@Override

public void onCreate(Bundle

savedInstanceState) {

super.onCreate(savedInstanceState);

super.setContentView(R.layout.main);

this.findBut = (Button)super.findViewById(R.id.findBut);

this.mylayout =

(LinearLayout)super.findViewById(R.id.mylayout);

this.findBut.setOnClickListener(new OnClickListenerImpl());

}

private class OnClickListenerImpl implements

OnClickListener{

public void onClick(View v) {

MySQLiteDemo.this.helper = new

MyDatabaseHelper(MySQLiteDemo.this);

ListView listView = new ListView(MySQLiteDemo.this);

listView.setAdapter( //设置数据

new

ArrayAdapter //所有的数据是字符串

(MySQLiteDemo.this, //上下文

android.R.layout.simple_list_item_1, //列表显示的布局

new

MytabCursor( //实例化查询

MySQLiteDemo.this.helper.getReadableDatabase()) //取得SQLiteDatabase对象

.find())); //调用find()方法,返回List

MySQLiteDemo.this.mylayout.addView(listView);

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值