package soo.data.db; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.database.SQLException; import android.database.sqlite.SQLiteDatabase; import android.os.Bundle; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class DBTest extends Activity implements OnClickListener { /** Called when the activity is first created. */ private Button createB,dropB,insertB,updateB,deleteB,selectB; private EditText et1,et2,et3; private SQLiteDatabase db; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); createB = (Button)findViewById(R.id.button01); dropB = (Button)findViewById(R.id.button02); insertB = (Button)findViewById(R.id.button03); updateB = (Button)findViewById(R.id.button04); deleteB = (Button)findViewById(R.id.button05); selectB = (Button)findViewById(R.id.button06); createB.setOnClickListener(this); dropB .setOnClickListener(this); insertB.setOnClickListener(this); updateB.setOnClickListener(this); deleteB.setOnClickListener(this); selectB.setOnClickListener(this); et1 = (EditText)findViewById(R.id.editText01); et2 = (EditText)findViewById(R.id.editText02); et3 = (EditText)findViewById(R.id.editText03); openDb(); } private final static String DB_NAME="test.db"; private final static int DB_MODE = Context.MODE_PRIVATE; private final static String TABLE_NAME="ADDRESS"; private void openDb(){ db = openOrCreateDatabase(DB_NAME, DB_MODE, null); showToast("DB("+DB_NAME+") 생성 및 열림"); //createTable(); } private void createTable(){ String sql = "create table "+TABLE_NAME + "(SEQ integer primary key autoincrement," + " NAME text not null,ADDR,DDATE date)"; try{ db.execSQL(sql); showToast("테이블("+TABLE_NAME+") 생성 완료"); }catch(SQLException se){ Log.e("createTable",se.toString()); } } private void dropTable(){ String sql = "drop table "+TABLE_NAME; try{ db.execSQL(sql); showToast("테이블("+TABLE_NAME+") 삭제 완료"); }catch(SQLException se){ Log.e("dropTable",se.toString()); } } private void insertData(String name,String addr){ String sql = "insert into "+TABLE_NAME+"(NAME,ADDR,DDATE) " + "values ('"+name+"','"+addr+"',date('now'))"; try{ db.execSQL(sql); showToast("입력(insert) 완료"); }catch(SQLException se){ Log.e("insertData",se.toString()); } } private void updateData(String name,String addr){ String sql = "update "+TABLE_NAME+" " + " set addr='"+addr+"'," + " ddate=date('now') " + " where name ='"+name+"'"; try{ db.execSQL(sql); showToast("수정(update) 완료"); }catch(SQLException se){ Log.e("updateData",se.toString()); } } private void deleteData(String name,String addr){ String sql = "delete from "+TABLE_NAME+" " + " where name ='"+name+"'"; try{ db.execSQL(sql); showToast("삭제(delete) 완료"); }catch(SQLException se){ Log.e("deleteData",se.toString()); } } private void showToast(String msg){ Toast.makeText(getApplicationContext(), msg, Toast.LENGTH_SHORT).show(); //Toast.makeText(AlertDialog.this, "왜 닫냐?!!", Toast.LENGTH_SHORT).show(); } @Override public void onClick(View v) { // TODO Auto-generated method stub if(v==createB){ createTable(); }else if(v==dropB){ dropTable(); }else if(v==insertB){ String name = et2.getText().toString(); if(name !=null) name=name.trim(); if(name.equals("")){ showToast("이름은 반드시 입력해야 합니다."); return; } String addr = et3.getText().toString(); insertData(name,addr); }else if(v==updateB){ String name = et2.getText().toString(); if(name.equals("")){ showToast("이름은 반드시 입력해야 합니다."); return; } String addr = et3.getText().toString(); updateData(name,addr); }else if(v==deleteB){ String name = et2.getText().toString(); if(name.equals("")){ showToast("이름은 반드시 입력해야 합니다."); return; } String addr = et3.getText().toString(); deleteData(name,addr); }else if(v==selectB){ Intent i = new Intent(this,DBList.class); startActivityForResult(i,1 ); //암호를 주는 것이다. 1은 요청코드(requestCode) 이다.. } } }