package com.s33me.swiift3; import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.app.ListActivity; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteException; import android.util.Log; import android.os.Bundle; import android.widget.ArrayAdapter; import android.widget.TextView; import android.widget.ListView; import android.widget.EditText; import android.widget.Button; import android.view.View; import android.content.ContentValues; import android.widget.SimpleCursorAdapter; public class Swiift3 extends ListActivity { private String DB_NAME = "swiift3db"; private String TBL_NAME = "swiift3"; // private String results = ""; // private EditText edbname; private EditText edph; private EditText edcname; private EditText edlob; private EditText edsize; private EditText edstreet; private EditText edzip; private EditText edweb; private EditText edndate; private EditText edstatus; // public ListView display; // private String wsbname=""; private String wsph=""; private String wscname=""; private String wslob=""; private String wssize=""; private String wsstreet=""; private String wszip=""; private String wsweb=""; private String wsndate=""; private String wsstatus=""; // to be visible by all objects public long xid; /**class Row extends Object { public long rid; public String rbname=""; public String rph=""; public String rcname=""; public String rlob=""; public String rsize=""; public String rstreet=""; public String rzip=""; public String rweb=""; public String rndate=""; public String rstatus=""; } */ /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // create database SQLiteDatabase dbobj = null; try { dbobj = this.openOrCreateDatabase(DB_NAME, MODE_PRIVATE, null); dbobj.execSQL("CREATE TABLE IF NOT EXISTS " + TBL_NAME + " (_id INTEGER PRIMARY KEY AUTOINCREMENT," + " bname VARCHAR, ph VARCHAR, cname VARCHAR," + " lob VARCHAR, size VARCHAR, street VARCHAR," + " zip VARCHAR, web VARCHAR, ndate VARCHAR," + " status VARCHAR);"); } catch (SQLiteException se1) { Log.e(getClass().getSimpleName(), "Error on create."); } finally { if (dbobj != null) dbobj.close(); } // main xml screen layout setContentView(R.layout.main); // Declare Screen Input edbname = (EditText)findViewById(R.id.txtbname); edph = (EditText)findViewById(R.id.txtph); edcname = (EditText)findViewById(R.id.txtcname); edlob = (EditText)findViewById(R.id.txtlob); edsize = (EditText)findViewById(R.id.txtsize); edstreet = (EditText)findViewById(R.id.txtstreet); edzip = (EditText)findViewById(R.id.txtzip); edweb = (EditText)findViewById(R.id.txtweb); edndate = (EditText)findViewById(R.id.txtndate); edstatus = (EditText)findViewById(R.id.txtstatus); Button btnadd = (Button)findViewById(R.id.btnadd); Button btnget = (Button)findViewById(R.id.btnget); Button btnrst = (Button)findViewById(R.id.btnrst); Button btnall = (Button)findViewById(R.id.btnall); Button btnmod = (Button)findViewById(R.id.btnmod); Button btndel = (Button)findViewById(R.id.btndel); // Defining buttons btnadd.setOnClickListener(new Button.OnClickListener() { public void onClick(View v) { addrec(); } }); btnget.setOnClickListener(new Button.OnClickListener() { public void onClick(View v) { getrec(); } }); btnrst.setOnClickListener(new Button.OnClickListener() { public void onClick(View v) { reset(); } }); btnall.setOnClickListener(new Button.OnClickListener() { public void onClick(View v) { getall(); } }); btnmod.setOnClickListener(new Button.OnClickListener() { public void onClick(View v) { upd(); } }); btndel.setOnClickListener(new Button.OnClickListener() { public void onClick(View v) { del(); } }); } private void addrec() { // insert SQLiteDatabase dbobj = null; dbobj = this.openOrCreateDatabase(DB_NAME, MODE_PRIVATE, null); // move screen edit fields into pgm working storage wsbname=edbname.getText().toString(); wsph=edph.getText().toString(); wscname=edcname.getText().toString(); wslob=edlob.getText().toString(); wssize=edsize.getText().toString(); wsstreet=edstreet.getText().toString(); wszip=edzip.getText().toString(); wsweb=edweb.getText().toString(); wsndate=edndate.getText().toString(); wsstatus=edstatus.getText().toString(); ContentValues initialValues = new ContentValues(); initialValues.put("bname", wsbname); initialValues.put("ph", wsph); initialValues.put("cname", wscname); initialValues.put("lob", wslob); initialValues.put("size", wssize); initialValues.put("street", wsstreet); initialValues.put("zip", wszip); initialValues.put("web", wsweb); initialValues.put("ndate", wsndate); initialValues.put("status", wsstatus); dbobj.insert(TBL_NAME, null, initialValues); dbobj.close(); reset(); } private void getrec() { // select by bname wsbname=edbname.getText().toString(); SQLiteDatabase dbobj = null; // setting cursor to entry like the bname or first row if no match try { dbobj = this.openOrCreateDatabase(DB_NAME, MODE_PRIVATE, null); Cursor c = dbobj.rawQuery("SELECT * FROM " + TBL_NAME + " WHERE (bname LIKE " + "'%" + wsbname + "%')" + " OR (_id = 1)", null); int Col1 = c.getColumnIndex("_id"); int Col2 = c.getColumnIndex("bname"); int Col3 = c.getColumnIndex("ph"); int Col4 = c.getColumnIndex("cname"); int Col5 = c.getColumnIndex("lob"); int Col6 = c.getColumnIndex("size"); int Col7 = c.getColumnIndex("street"); int Col8 = c.getColumnIndex("zip"); int Col9 = c.getColumnIndex("web"); int Col10 = c.getColumnIndex("ndate"); int Col11 = c.getColumnIndex("status"); c.moveToFirst(); if (c != null) { do { xid = c.getLong(Col1); String xbname = c.getString(Col2); String xph = c.getString(Col3); String xcname = c.getString(Col4); String xlob = c.getString(Col5); String xsize = c.getString(Col6); String xstreet = c.getString(Col7); String xzip = c.getString(Col8); String xweb = c.getString(Col9); String xndate = c.getString(Col10); String xstatus = c.getString(Col11); edbname.setText(xbname); edph.setText(xph); edcname.setText(xcname); edlob.setText(xlob); edsize.setText(xsize); edstreet.setText(xstreet); edzip.setText(xzip); edweb.setText(xweb); edndate.setText(xndate); edstatus.setText(xstatus); // results = results + xbname + "/" + xph + "/" + xcname + "\n"; } while(c.moveToNext()); c.close(); } else { if (Col1 <= 0 ) { c.moveToNext(); reset(); } } } catch (SQLiteException se1) { Log.e(getClass().getSimpleName(), "Error on get rec."); reset(); } finally { if (dbobj != null) { dbobj.close(); } } //txtdisplay.setText(results); //TextView tv = new TextView(this); //tv.setText(results); //setContentView(tv); } private void getall() { // select by all records SQLiteDatabase dbobj = null; dbobj = this.openOrCreateDatabase(DB_NAME, MODE_PRIVATE, null); //setContentView(R.layout.main_row); // output for select all // display = (ListView)findViewById(android.R.id.list); try { Cursor a = dbobj.query(TBL_NAME, new String[] { "_id", "bname", "ph", "cname", "lob", "size", "street", "zip", "web", "ndate", "status"}, null, null, null, null, null); startManagingCursor(a); a.moveToFirst(); //int Col1 = a.getColumnIndex("_id"); //int Col2 = a.getColumnIndex("bname"); //int Col3 = a.getColumnIndex("ph"); //int Col4 = a.getColumnIndex("cname"); //int Col11 = a.getColumnIndex("status"); //String sid = a.getString(Col1); //String sbname = a.getString(Col2); //String scname = a.getString(Col4); //String sph = a.getString(Col3); //String sstatus = a.getString(Col11); // format columns for row display String[] from = new String[] {"bname", "cname", "ph", "status"}; int[] to = new int[] {R.id.vbname, R.id.vcname, R.id.vph, R.id.vstatus}; SimpleCursorAdapter mAdapter = new SimpleCursorAdapter(this, R.layout.main_row, a, from, to); this.setListAdapter(mAdapter); } catch (SQLiteException e2) { Log.e("exception on get all", e2.toString()); } finally { if (dbobj != null) { dbobj.close(); } } // // dbobj.close(); //txtdisplay.setText(results); //TextView tv = new TextView(this); //tv.setText(results); //setContentView(tv); } private void reset() { edbname.setText(""); edph.setText(""); edcname.setText(""); edlob.setText(""); edsize.setText(""); edstreet.setText(""); edzip.setText(""); edweb.setText(""); edndate.setText(""); edstatus.setText(""); wsbname = ""; wsph = ""; wscname = ""; wslob = ""; wssize = ""; wsstreet = ""; wszip = ""; wsweb = ""; wsndate = ""; wsstatus = ""; } private void upd() { wsbname=edbname.getText().toString(); SQLiteDatabase dbobj = null; // delete after get rec and bname and row id are exact match try { dbobj = this.openOrCreateDatabase(DB_NAME, MODE_PRIVATE, null); dbobj.execSQL("UPDATE " + TBL_NAME + " SET ph = '" + wsph + "', cname = '" + wscname + "', lob = '" + wslob + "', size = '" + wssize + "', street = '" + wsstreet + "', zip = '" + wszip + "', web = '" + wsweb + "', ndate = '" + wsndate + "', status = '" + wsstatus + "' WHERE bname = '" + wsbname + "' AND _id = " + xid + ";"); } catch (SQLiteException se1) { Log.e(getClass().getSimpleName(), "Error on del rec"); reset(); } finally { if (dbobj != null) { dbobj.close(); } } reset(); } private void del() { wsbname=edbname.getText().toString(); SQLiteDatabase dbobj = null; // delete after get rec and bname and row id are exact match try { dbobj = this.openOrCreateDatabase(DB_NAME, MODE_PRIVATE, null); dbobj.execSQL("DELETE FROM " + TBL_NAME + " WHERE (bname = '" + wsbname + "')" + " AND (_id = " + xid + ");"); } catch (SQLiteException se1) { Log.e(getClass().getSimpleName(), "Error on del rec"); reset(); } finally { if (dbobj != null) { dbobj.close(); } } reset(); } }