码迷,mamicode.com
首页 > 移动开发 > 详细

Android笔记(四十二) Android中的数据存储——SQLite(四)update

时间:2015-10-28 01:24:19      阅读:289      评论:0      收藏:0      [点我收藏+]

标签:

 

  update方法的四个参数:

update()方法参数 对应的sql部分 描述
table update table_name 更新的表名
values set column=xxx ContentValues
whereClause where column 修改条件
whereArgs where column = xx 修改条件的参数

         看代码:

MainActivity.java

package cn.lixyz.sqlite;

import android.app.Activity;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends Activity {

    private EditText name, age, paramter, originalAge, newAge;
    private Button insertButton, selectButton, paramterSelect, updateButton;

    private SQLiteDatabase database;
    private MySQLiteOpenHelper msop;

    public String inputSex;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        findView();

        msop = new MySQLiteOpenHelper(this, "user.db", null, 1);
        database = msop.getReadableDatabase();

    }

    private void findView() {
        name = (EditText) findViewById(R.id.name);
        age = (EditText) findViewById(R.id.age);
        insertButton = (Button) findViewById(R.id.insertButton);
        selectButton = (Button) findViewById(R.id.selectButton);
        paramter = (EditText) findViewById(R.id.paramter);
        paramterSelect = (Button) findViewById(R.id.paramterSelect);
        originalAge = (EditText) findViewById(R.id.originalAge);
        newAge = (EditText) findViewById(R.id.newAge);
        updateButton = (Button) findViewById(R.id.updateButton);
    }

    public void clickButton(View view) {
        switch (view.getId()) {
        case R.id.selectButton:
            selectData();
            break;

        case R.id.insertButton:
            insertData();
            break;
        case R.id.paramterSelect:
            paramterSelect();
            break;
        case R.id.updateButton:
            updateData();
            break;
        }
    }

    private void updateData() {
        String oldAge = originalAge.getText().toString();
        String updateAge = newAge.getText().toString();
        ContentValues cv = new ContentValues();
        cv.put("age", updateAge);
        String whereColumn = "age=?";// 修改条件
        String[] whereArgs = { oldAge };
        int i = database.update("user", cv, whereColumn, whereArgs);
        if (1 > 0) {
            Toast.makeText(MainActivity.this, "更新成功", Toast.LENGTH_SHORT).show();
        } else {
            Toast.makeText(MainActivity.this, "更新不成功", Toast.LENGTH_SHORT).show();
        }
    }

    private void paramterSelect() {
        String inputAge = paramter.getText().toString();
        Cursor c = database.rawQuery("select * from user where age>?", new String[] { inputAge });
        if (c.moveToFirst()) {
            do {
                int id = c.getInt(c.getColumnIndex("id"));
                String name = c.getString(c.getColumnIndex("name"));
                String age = c.getString(c.getColumnIndex("age"));
                Log.d("TTTT", "id=" + id + ",name=" + name + ",age=" + age);
            } while (c.moveToNext());
        }
        c.close();

    }

    private void insertData() {
        String inputAge = age.getText().toString();
        String inputName = name.getText().toString();
        ContentValues cv = new ContentValues();
        cv.put("name", inputName);
        cv.put("age", inputAge);
        database.insert("user", null, cv);
        Toast.makeText(MainActivity.this, "插入成功", Toast.LENGTH_SHORT).show();
        age.setText("");
        name.setText("");

    }

    private void selectData() {
        Cursor c = database.query("user", null, null, null, null, null, null);
        if (c.moveToFirst()) {
            do {
                int id = c.getInt(c.getColumnIndex("id"));
                String name = c.getString(c.getColumnIndex("name"));
                String age = c.getString(c.getColumnIndex("age"));
                Log.d("TTTT", "id=" + id + ",姓名=" + name + ",年龄=" + age);
            } while (c.moveToNext());
        }
        c.close();

    }

    class MySQLiteOpenHelper extends SQLiteOpenHelper {

        private static final String CREATE_USER = "create table user(id integer primary key autoincrement,name text,age text)";

        private Context mContext;

        public MySQLiteOpenHelper(Context context, String name, CursorFactory factory, int version) {
            super(context, name, factory, version);
            mContext = context;
        }

        @Override
        public void onCreate(SQLiteDatabase db) {
            db.execSQL(CREATE_USER);
        }

        @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
            // TODO Auto-generated method stub

        }

    }
}

 

activity_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity" >

    <EditText
        android:id="@+id/name"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="输入姓名" />

    <EditText
        android:id="@+id/age"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="输入年龄" />

    <Button
        android:id="@+id/insertButton"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:onClick="clickButton"
        android:text="点击插入" />

    <Button
        android:id="@+id/selectButton"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:onClick="clickButton"
        android:text="点击查询" />

    <TextView
        android:id="@+id/text"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="条件搜索" />

    <EditText
        android:id="@+id/paramter"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="您要搜多少岁以上的?" />

    <Button
        android:id="@+id/paramterSelect"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:onClick="clickButton"
        android:text="点击搜索" />

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="update" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <EditText
            android:id="@+id/originalAge"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:hint="要修改的年龄" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="修改为" />

        <EditText
            android:id="@+id/newAge"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:hint="新年龄" />
    </LinearLayout>

    <Button
        android:id="@+id/updateButton"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:onClick="clickButton"
        android:text="UPDATE" />

</LinearLayout>

  运行结果:

技术分享技术分享

  通过结果可以看到,将之前数据库内的年龄为12的修改为20

 

 

 

 

Android笔记(四十二) Android中的数据存储——SQLite(四)update

标签:

原文地址:http://www.cnblogs.com/xs104/p/4916119.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!