It appears to me that you are always inserting key_id = 0, therefore this
would be a duplicate insert. I believe you should be increasing this by +1
for each insert.
On Friday, April 26, 2013 11:20:20 AM UTC-5, Nathan wrote:
>
> I can not figure out what is happening here for the life of me. Everything
> was working fine. I went to bed one night and came back the next and now my
> app will not read or write to my db and gives me no errors. Please help any
> advice would be great.
>
>
> My DB Handler:
>
> ===============================================================================================================
> import android.content.ContentValues;
> import android.content.Context;
> import android.database.Cursor;
> import android.database.sqlite.SQLiteDatabase;
> import android.database.sqlite.SQLiteOpenHelper;
>
> public class DatabaseHandler extends SQLiteOpenHelper {
> // All Static variables
> // Database Version
> private static final int DATABASE_VERSION = 1;
>
> // Database Name
> private static final String DATABASE_NAME = "GP";
>
> // Contacts table name
> private static final String TABLE_VERSION = "GPVersion";
>
>
> // Contacts Table Columns names
> private static final String KEY_ID = "id";
> private static final String KEY_VERSION = "name";
>
> public DatabaseHandler(Context context) {
> super(context, DATABASE_NAME, null, DATABASE_VERSION);
> }
>
> @Override
> public void onCreate(SQLiteDatabase db) {
> // TODO Auto-generated method stub
> String CREATE_VERSION_TABLE = "CREATE TABLE IF NOT EXISTS " +
> TABLE_VERSION + "("
> + KEY_ID + " INTEGER PRIMARY KEY," + KEY_VERSION + " TEXT"
> + ")";
> db.execSQL(CREATE_VERSION_TABLE);
> }
>
> @Override
> public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
> // TODO Auto-generated method stub
> //db.execSQL("DROP TABLE IF EXISTS " + TABLE_VERSION);
>
> // Create tables again
> //onCreate(db);
> }
>
> // Adding new version
> void addGPVersion(String version) {
> SQLiteDatabase db = this.getWritableDatabase();
>
> ContentValues values = new ContentValues();
> values.put(KEY_ID, "0"); // Pair
> values.put(KEY_VERSION, version); // Pair
>
> // Inserting Row
> db.insert(TABLE_VERSION, null, values);
> db.close(); // Closing database connection
> }
>
>
> // Getting students Count
> public String getGPVersion() {
> SQLiteDatabase db = this.getReadableDatabase();
> String q="SELECT " + KEY_VERSION + " FROM " + TABLE_VERSION + " WHERE
> " + KEY_ID + "='0'";
> String z;
>
> Cursor cursor = db.rawQuery(q,null);
> if (cursor != null && cursor.getCount()>0) {
> cursor.moveToFirst();
> z=cursor.getString(0);
> cursor.close();
> db.close();
> return z;
>
> }
> else
> {
> cursor.close();
> db.close();
> return "na";
> }
> }
>
>
>
> ===============================================================================================================
>
>
>
> Main Activity:
>
> ===============================================================================================================
> @Override
> protected void onCreate(Bundle savedInstanceState) {
> super.onCreate(savedInstanceState);
>
> setContentView(R.layout.main);
> CheckGPVersion();
> }
>
>
> private void CheckGPVersion()
> {
> DatabaseHandler db = new DatabaseHandler(this);
> String a = "";
> a = db.getGPVersion();
>
> EditText txtEffortCode = (EditText)
> findViewById(R.id.txtEffortCode);
> txtEffortCode.setText(a);
> }
>
>
> public void onGoClick(View view) // Input Effort Code
> {
> EditText txtEffortCode = (EditText) findViewById(R.id.txtEffortCode);
>
> if (txtEffortCode.getText().length() != 0){
> //Do Something
> DatabaseHandler db = new DatabaseHandler(this);
>
> db.addGPVersion(txtEffortCode.getText().toString().toUpperCase(Locale.getDefault()));
> txtEffortCode.setText("");
> Toast.makeText(this, "Input Success!", Toast.LENGTH_SHORT).show();
> }
> else
> {
> //Alert no code input
> Toast.makeText(this, "You must enter 'EFFORT CODE'!",
> Toast.LENGTH_SHORT).show();
> }
> }
>
> ===============================================================================================================
>
>
> While it creates the database or so I think it does as the app shows under
> data 4.00K. When it was inputting data the other night, the data field
> showed 12.00K. Argh, what is going on here? I use sqlite on many other apps
> and they work fine. Did something get corrupt? I tried cleaning the
> project, rebooting etc. nothing. Thanks in advance.
>
--
--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
---
You received this message because you are subscribed to the Google Groups
"Android Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.