dimanche 25 octobre 2015

What's wrong with my code? (1) no such table: TaxiFile NEED ASSISTANCE

need help. i keep getting errors no such table: TaxiFile, and syntax error any help would be much appreciated.

i've been having this trouble for so long

package com.example.taxirecordapp;

import android.app.Activity;
import android.content.ContentValues;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class AddTaxi extends Activity {

    EditText etPlateNumber, etDate, etBalance, etDriverNumber;
    Button btnSave, btnBack;
    SQLiteDatabase dbase;
    int position;
    int balance = 0;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        DBHelper helper = new DBHelper(getApplication(), "TaxiRecordAppDB", 1);
        dbase = helper.getWritableDatabase();
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.add_taxi);

        etPlateNumber = (EditText) findViewById(R.id.etPlateNumber);
        etDate = (EditText) findViewById(R.id.etDate);
        etBalance = (EditText) findViewById(R.id.etBalance);
        etDriverNumber = (EditText) findViewById(R.id.etDriverNumber);
        btnSave = (Button) findViewById(R.id.btnSave);
        btnBack = (Button) findViewById(R.id.btnBack);

        Intent i = getIntent();
        position = i.getIntExtra("position", position);

        Cursor rsCursor;
        String[] rsFields = { "DriverNumber", "DriverFName", "DriverLName",
                "DriverDateHired", "DriverContactNumber", "DriverAddress" };
        rsCursor = dbase.query("DriverFile", rsFields, null, null, null, null,
                null, null);
        rsCursor.moveToPosition(position);
        if (rsCursor.isAfterLast() == false) {
            if (rsCursor.getPosition() == position) {
                etDriverNumber.setText(rsCursor.getString(0).toString());
            }
        }
        rsCursor.close();

        btnSave.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub

                if (etPlateNumber.getText().toString().length() == 0) {
                    Toast.makeText(getApplicationContext(),
                            "Please input Plate Number!", Toast.LENGTH_SHORT)
                            .show();

                } else if (etDate.getText().toString().length() == 0) {
                    Toast.makeText(getApplicationContext(),
                            "Please input Date Rented!", Toast.LENGTH_SHORT)
                            .show();

                }

                else {
                    if (etBalance.getText().toString().length() == 0) {
                        balance = 0;

                    } else {
                        balance = Integer.parseInt(etBalance.getText()
                                .toString());
                    }
                    AddTaxiRecord(etPlateNumber.getText().toString(),
                            etDriverNumber.getText().toString(), etDate
                                    .getText().toString(), balance);
                }
            }
        });

        btnBack.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                Intent i = new Intent(AddTaxi.this, MainActivity.class);
                startActivity(i);
            }
        });

    }

    public void AddTaxiRecord(String plateNumber, String driverNumber,
            String date, int balance) {
        try {
            Cursor rsCursor;
            String[] rsFields = { "TaxiPlateNumber", "TaxiDriverNumber",
                    "TaxiRentDate", "TaxiDriverBalance" };
            rsCursor = dbase.query("TaxiFile", rsFields, "TaxiPlateNumber = "
                    + plateNumber, null, null, null, null, null);
            rsCursor.moveToFirst();
            if (rsCursor.isAfterLast() == false) {
                Toast.makeText(getApplicationContext(),
                        "Plate number already exist!", Toast.LENGTH_SHORT)
                        .show();
            } else {
                ContentValues rsValues = new ContentValues();
                rsValues.put("TaxiPlateNumber", plateNumber);
                rsValues.put("TaxiDriverNumber", driverNumber);
                rsValues.put("TaxiRentDate", date);
                rsValues.put("TaxiDriverBalance", balance);
                dbase.insert("TaxiFile", null, rsValues);
                Toast.makeText(getApplicationContext(),
                        "Record Successfully Saved!", Toast.LENGTH_SHORT)
                        .show();
            }
        } catch (Exception e) {

        }
    }

}

    package com.example.taxirecordapp;

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

public class DBHelper extends SQLiteOpenHelper {

    public DBHelper(Context c, String dbName, int dbVer) {
        super(c, dbName, null, dbVer);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        // TODO Auto-generated method stub

        String driverSQL = "CREATE TABLE DriverFile (DriverNumber text primary key not null, DriverFName text, DriverLName text, DriverDateHired text, DriverContactNumber text, DriverAddress text)";
        String taxiSQL = "CREATE TABLE TaxiFile (TaxiPlateNumber text primary key not null, TaxiDriverNumber text, TaxiRentDate text, TaxiDriverBalance integer)";
        db.execSQL(taxiSQL);
        db.execSQL(driverSQL);

    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // TODO Auto-generated method stub
        String driverSQL = "DROP TABLE IF EXISTS DriverFile";

        String taxiSQL = "DROP TABLE IF EXISTS TaxiFile";
        db.execSQL(taxiSQL);
        db.execSQL(driverSQL);
        onCreate(db);
    }

}

Aucun commentaire:

Enregistrer un commentaire