難道我學習了SQLite?
阿新 • • 發佈:2018-12-30
這是一個正經的文章。。
————什麼是SQLite?
SQLite是一款輕型的資料。
那我們先來看一下具體例項吧~~~
新增實體類Student
private String sql = "create table student("+"id integer primary ket autoincrement not null, "+
"age integer,"+"name text,"+"score real"+")";
插入一個數據
插入一個List列表public static int Insert<T>(T obj) { int count; using (var conn = GetDbConnection()) { count=conn.Insert(obj); } return count; }
刪除一個數據public static int Insert<T>(List<T> objList) { int count=0; using (var conn = GetDbConnection()) { foreach (var item in objList) { count+=conn.Insert(item); } } return count; }
public static void Delete<T>(T obj)
{
using (var conn = GetDbConnection())
{
conn.Delete(obj);
}
}
查詢資料
public static List<T> Find<T>(string query) where T : class { using (var conn = GetDbConnection()) { return conn.Query<T>(query); } }
更新資料
public static int Update<T>(T obj)
{
using (var conn = GetDbConnection())
{
return conn.Update(obj);
}
}
程式碼展示
xml檔案比較簡單。這裡只有插入和查詢
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.example.lenovo.myapplication.MainActivity">
<EditText
android:id="@+id/name_et"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
<Button
android:id="@+id/insert_btn"
android:layout_width="wrap_content"
android:layout_height="50dp"
android:text="插入"/>
<Button
android:id="@+id/search_btn"
android:layout_width="wrap_content"
android:layout_height="50dp"
android:text="查詢"/>
</LinearLayout>
package com.example.lenovo.myapplication;
import android.content.ContentValues;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class MainActivity extends AppCompatActivity implements View.OnClickListener{
private Button insertBtn;
private Button searchBtn;
private EditText nameEt;
private DBHelper dbHelper;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bind();
dbHelper = new DBHelper(this,"mydb",null,1);
}
private void bind() {
insertBtn = findViewById(R.id.insert_btn);
nameEt = findViewById(R.id.name_et);
searchBtn =findViewById(R.id.search_btn);
insertBtn.setOnClickListener(this);
searchBtn.setOnClickListener(this);
}
@Override
public void onClick(View view) {
switch (view.getId()){
case R.id.insert_btn:
SQLiteDatabase sqLiteDatabase = dbHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("name",nameEt.getText().toString());
sqLiteDatabase.insert("student",null,values);
break;
case R.id.search_btn:
break;
}
}
}
下面是DBHelper
package com.example.lenovo.myapplication; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; /** * Created by lenovo on 2018/3/20. */ public class DBHelper extends SQLiteOpenHelper { private String sql = "create table student("+"id integer primary ket autoincrement not null, "+ "age integer,"+"name text,"+"score real"+")"; public DBHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) { super(context, name, factory, version); } @Override public void onCreate(SQLiteDatabase db) { db.execSQL(sql); } @Override public void onUpgrade(SQLiteDatabase db, int i, int i1) { } }