好贷网好贷款

使用SQL进行模糊查询

发布时间:2016-12-5 2:23:35 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"使用SQL进行模糊查询",主要涉及到使用SQL进行模糊查询方面的内容,对于使用SQL进行模糊查询感兴趣的同学可以参考一下。

    在main.xml中:   <?xml version="1.0" encoding="utf-8"?> <LinearLayout 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">       <Button         android:id="@+id/findBut"         android:layout_marginTop="8dp"         android:background="#0066ff"         android:textColor="#ffffff"         android:layout_width="100dp"         android:layout_height="40dp"         android:text="查询全部数据" />   </LinearLayout>       在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<String> find(){      List<String> all = new ArrayList<String>() ; // 此时只是String      String sql = "SELECT id,name,birthday FROM " + TABLENAME + " WHERE name LIKE ? OR birthday LIKE ?" ;      String keyWord = "2" ; // 查询关键字 ,应该由方法定义      String args[] = new String[] { "%" + keyWord + "%", "%" + keyWord + "%" };      Cursor result = this.db.rawQuery(sql, args); // 执行查询语句      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<String>  //所有的数据是字符串             (MySQLiteDemo.this,       //上下文             android.R.layout.simple_list_item_1, //列表显示的布局             new MytabCursor(     //实例化查询             MySQLiteDemo.this.helper.getReadableDatabase())  //取得SQLiteDatabase对象             .find()));    //调用find()方法,返回List<String>        MySQLiteDemo.this.mylayout.addView(listView);      }   } }    

上一篇:封装
下一篇:WEBUS2.0 In Action - 索引操作指南(1)

相关文章

相关评论