SQLite 使用(創、升、增、刪、改、查)

來源:互聯網
上載者:User

標籤:.exe   sql語句   使用   prot   繼承   created   err   產生   min   

首先Database 資料庫建立

1.建立一個Database包,包內建立一個MyDatabaseHelper繼承DatabaseHelper類,並實現裡面的方法!

 3 import android.content.Context; 4 import android.database.sqlite.SQLiteDatabase; 5 import android.database.sqlite.SQLiteOpenHelper; 6 import android.widget.Toast; 7  8 /** 9  * 資料庫協助類10  * Created by Administrator on 2017/12/6.11  */12 13 public class MyDatabaseHelper extends SQLiteOpenHelper{14 15     public static final String CREATE_USERINFO="CREATE TABLE USERINFO("         //建立表的SQL語句16             + "id integer primary key autoincrement, "                      //id 設定主鍵17             + "username text, "                                             //使用者名稱18             + "age integer, "                                               //年齡19             + "sex text, "                                                  //性別20             + "mAutograph text)";                                           //簽名21     private Context mContext;                          22 23 24     /**25      * 產生的構造方法26      * @param context   獲得上下文27      * @param name28      * @param factory29      * @param version30      */31     public MyDatabaseHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {32         super(context, name, factory, version);33         mContext=context; //擷取上下文34     }35 36 37     /**38      * 實現方法39      * 建立資料庫40      * @param db41      */42     @Override43     public void onCreate(SQLiteDatabase db) {44         db.execSQL(CREATE_USERINFO);  //建立資料庫,參數為創表語句45         Toast.makeText(mContext,"建立表成功",Toast.LENGTH_LONG).show();46     }47 48     /**49      * 實現方法50      * 升級資料庫51      * @param sqLiteDatabase52      * @param i53      * @param i154      */55     @Override56     public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {57     58     }59 }

2.升級資料庫,

 1 /** 2      * 實現方法 3      * 升級資料庫 4      * @param sqLiteDatabase 5      * @param i 6      * @param i1 7      */ 8     @Override 9     public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {10         sqLiteDatabase.execSQL("drop table if exists CREATE_USERINFO"); //刪除資料庫11         sqLiteDatabase.execSQL("drop table if exists CREATE_CONTACT");  //刪除資料庫12     }13 14  private MyDatabaseHelper mDBhelper;     //聲明資料庫協助類變數15     @Override16     protected void onCreate(Bundle savedInstanceState) {17         super.onCreate(savedInstanceState);18         setContentView(R.layout.activity_main);19         mDBhelper=new MyDatabaseHelper(this,"this,UserInfo",null,3); //3代表升級20     }25     /**26      * 啟動時建立資料庫27      */28     @Override29     protected void onStart() {30         super.onStart();31         mDBhelper.getWritableDatabase(); //獲得可寫的資料庫,會建立helper資料庫32     }

3.查詢資料庫

 1   @Override 2     public List<UserInfo> getUserInfo(MyDatabaseHelper db) { 3         SQLiteDatabase sqlhelper=db.getWritableDatabase(); 4         Cursor cursor=sqlhelper.query("USERINFO",null,null,null,null,null,null); 5         UserInfo user; 6         List<UserInfo> list=new ArrayList<>(); 7         if(cursor.moveToFirst()){ 8             do{ 9                 String name=cursor.getString(cursor.getColumnIndex("username"));10                 String age=cursor.getString(cursor.getColumnIndex("age"));11                 String sex=cursor.getString(cursor.getColumnIndex("sex"));12                 String phone=cursor.getString(cursor.getColumnIndex("Phone"));13                 user=new UserInfo(name,age,sex,phone);14                 list.add(user);15             }while (cursor.moveToNext());16         }17         cursor.close();18         return list;19     }

4.插入資料庫  MyDatabaseHelper database繼承至DatabaseHelper

 1  @Override 2     public void setUserInfo(MyDatabaseHelper database,UserInfo user) { 3         SQLiteDatabase db=database.getWritableDatabase(); 4         ContentValues values=new ContentValues(); 5         values.put("username",user.getName()); 6         values.put("age",user.getAge()); 7         values.put("sex",user.getSex()); 8         values.put("Phone",user.getPhone()); 9         db.insert("USERINFO",null,values);10     }

5.修改資料庫

1 @Override2     public void DelectUserInfo(MyDatabaseHelper database) {3         SQLiteDatabase sqLiteDatabase=database.getWritableDatabase();4         ContentValues values=new ContentValues();5         values.put("price",10.99); //所需要修改的欄位 price 欄位 10.99值6         7         //修改資料 ?站位符 new String[]{修改?資料}8         sqLiteDatabase.update("USERINFO",values,"name=?",new String[]{"TheDaviciCode"});9     }

6.刪除資料

1  @Override2     public void DelectUserInfo(MyDatabaseHelper database) {3         //刪除ID小於5的資料4         SQLiteDatabase db=database.getWritableDatabase();5         db.delete("USERINFO","id > 5",new String[]{"5"});6     }

 

SQLite 使用(創、升、增、刪、改、查)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.