1. 程式人生 > 資料庫 >oracle 已提交誤刪除,恢復 閃回技術

oracle 已提交誤刪除,恢復 閃回技術

package com.example.acud;

import java.util.ArrayList;
import java.util.List;

import android.os.Bundle;
import android.app.Activity;
import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.view.Menu;
import android.view.View;
import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.EditText; import android.widget.ListView; import android.widget.TextView; import android.widget.Toast; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void add(View v) { StuOpenHelper helper = new StuOpenHelper(this); SQLiteDatabase db = helper.getWritableDatabase(); String name = ((EditText) findViewById(R.id.et_name)).getText() .toString();
int age = Integer.parseInt(((EditText) findViewById(R.id.et_age)) .getText().toString()); // 原生sql操作, // db.execSQL("insert into stuinfo (name,age) values('lisi',22)"); // db.execSQL("insert into stuinfo (name,age) values(?,?)",new // Object[]{"kitty",30}); db.execSQL("insert into stuinfo (name,age) values(?,?)", new Object[] { name,age }); Toast.makeText(this, "ok", 0).show(); //google API操作 見教材P124,更推薦用這種 } public void delete(View view) { StuOpenHelper helper = new StuOpenHelper(this); SQLiteDatabase db = helper.getWritableDatabase(); db.execSQL("delete from stuinfo where _id=?", new Object[] { 2 }); Toast.makeText(this, "刪除成功", 0).show(); } public void update(View view) { StuOpenHelper helper = new StuOpenHelper(this); SQLiteDatabase db = helper.getWritableDatabase(); db.execSQL("update stuinfo set name=? where _id=?", new Object[] { "micky", 3 }); Toast.makeText(this, "修改成功", 0).show(); } //定義學生集合 List<Student> list=new ArrayList<Student>(); public void search(View view) { System.out.println(list.size()+"在search裡"); StuOpenHelper helper = new StuOpenHelper(this); SQLiteDatabase db = helper.getWritableDatabase(); // String s = ""; Cursor cursor = db.rawQuery("select * from stuinfo", null); if (cursor.getCount() != 0) { //每迴圈一次,建立一個學生物件並新增到集合中 while (cursor.moveToNext()) { // s += cursor.getInt(0) + " " + cursor.getString(1) + " " // + cursor.getInt(2) + "\n"; Student s1=new Student(); s1.setId(cursor.getInt(0)); s1.setName(cursor.getString(1)); s1.setAge(cursor.getInt(2)); list.add(s1); } } ListView lv=(ListView) findViewById(R.id.lv1); lv.setAdapter(new myadapter()); // Toast.makeText(this, s, 0).show(); // ((TextView) (findViewById(R.id.tv_show))).setText(s); } private class myadapter extends BaseAdapter{ @Override public int getCount() { // TODO Auto-generated method stub return list.size(); } @Override public View getView(int position, View convertView, ViewGroup arg2) { // TODO Auto-generated method stub View view=View.inflate(MainActivity.this, R.layout.list_item, null); TextView tvid=(TextView)view.findViewById(R.id.tv_id); TextView tvname=(TextView)view.findViewById(R.id.tv_name); TextView tvage=(TextView) view.findViewById(R.id.tv_age); System.out.println(list.get(position).getId()); tvid.setText(list.get(position).getId()+""); tvname.setText(list.get(position).getName()); tvage.setText(list.get(position).getAge()+""); // tvid.setText("aa"); // tvname.setText("bb"); // tvage.setText("cc"); return view; } @Override public Object getItem(int arg0) { // TODO Auto-generated method stub return null; } @Override public long getItemId(int arg0) { // TODO Auto-generated method stub return 0; } } }
package com.example.acud;

public class Student {
    private int id;
    private String name;
    private int age;
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }

}
package com.example.acud;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;

public class StuOpenHelper extends SQLiteOpenHelper {

    public StuOpenHelper(Context context) {
        super(context, "stu.db", null, 1);
        // TODO Auto-generated constructor stub
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        // TODO Auto-generated method stub
        db.execSQL("create table stuinfo(_id integer primary key autoincrement,name varchar(20),age integer)");

    }

    @Override
    public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {
        // TODO Auto-generated method stub

    }

}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
 
    android:orientation="vertical"
    android:padding="16dp" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="130dp" >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="姓  名 :"
            android:textSize="18sp" />

        <EditText
            android:id="@+id/et_name"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="請輸入姓名"
            android:textSize="16sp" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="10dp" >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="年  齡:"
            android:textSize="18sp" />

        <EditText
            android:id="@+id/et_age"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="輸入年齡"
            android:textSize="16sp" />
    </LinearLayout>

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

        <Button
            android:id="@+id/btn_add"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginRight="2dp"
            android:layout_weight="1"
            android:background="#B9B9FF"
            android:onClick="add"
            android:text="新增"
            android:textSize="18sp" />

        <Button
            android:id="@+id/btn_query"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginRight="2dp"
            android:layout_weight="1"
            android:background="#DCB5FF"
            android:onClick="search"
            android:text="查詢"
            android:textSize="18sp" />

        <Button
            android:id="@+id/btn_update"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginRight="2dp"
            android:layout_weight="1"
            android:background="#E6CAFF"
            android:onClick="update"
            android:text="修改"
            android:textSize="18sp" />

        <Button
            android:id="@+id/btn_delete"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="#ACD6FF"
            android:onClick="delete"
            android:text="刪除"
            android:textSize="18sp" />
    </LinearLayout>

   

        <ListView
            android:id="@+id/lv1"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_marginTop="25dp"
            android:textSize="20sp" />
   
</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal" >

    <TextView
        android:id="@+id/tv_id"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="1" />

    <TextView
        android:id="@+id/tv_name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="2" />

    <TextView
        android:id="@+id/tv_age"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="3" />

</LinearLayout>