mardi 21 avril 2015

android.database.sqlite.SQLiteException: near "20": syntax error (code 1): , while compiling: DELETE FROM ACCIDENT WHERE data = 19/04/2015 20:59

the program return this error:

android.database.sqlite.SQLiteException: near "20": syntax error (code 1): , while compiling: DELETE FROM ACCIDENT WHERE data = 19/04/2015 20:59

The field data is String that contains date and time separated with space.

Is posible the error is becouse where condition can not use string separated by space. The field data in the DataBase contain this "19/04/2015 20:59"

this is the code

package com.ebre.disseny.ajudaenaccidents;

 import android.app.AlertDialog;
 import android.content.DialogInterface;
 import android.content.Intent;
 import android.database.sqlite.SQLiteDatabase;
 import android.os.Bundle;
 import android.os.Environment;
 import android.view.View;
 import android.widget.Button;
 import android.widget.CheckBox;
 import android.widget.EditText;

/**
* Created by Ventura on 15/04/2015.
*/
public class VeureDadesAccidentActivity extends ClassePare {

protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_veure_dades_accident);
    this.idLayout = R.layout.activity_veure_dades_accident;
    this.idVista = R.id.VistaVeureDades;

    final Bundle bundle = this.getIntent().getExtras();
    this.setListenerDesplaçar();

    //Obtenim la referència als controls de la interfase
    final EditText textData = (EditText) findViewById(R.id.DataAccident);
    final EditText textLloc = (EditText) findViewById(R.id.LlocAccident);
    final EditText textDescripció = (EditText) findViewById(R.id.DescripcióAccident);
    final CheckBox checkContrari = (CheckBox) findViewById(R.id.checkbox);
    final EditText textNom = (EditText) findViewById(R.id.NomCognoms);
    final EditText textDNI = (EditText) findViewById(R.id.DNI);
    final EditText textAdreça = (EditText) findViewById(R.id.Adreça);
    final EditText textTelefon = (EditText) findViewById(R.id.Telèfon);
    final EditText textMatricula = (EditText) findViewById(R.id.MatriculaVehicle);
    final EditText textModel = (EditText) findViewById(R.id.ModelVehicle);
    final EditText textMarca = (EditText) findViewById(R.id.MarcaVehicle);
    final EditText textAsseguradora = (EditText) findViewById(R.id.Asseguradora);
    final EditText textPolissa = (EditText) findViewById(R.id.NumeroPolissa);
    final String check = bundle.getString("check");

    textData.setText(bundle.getString("data"));
    final String data = bundle.getString("data");
    textLloc.setText(bundle.getString("lloc"));
    textDescripció.setText(bundle.getString("descripcio"));

    if (check.equals("true")){
        checkContrari.setChecked(true);
        activar_camps();
    }else {
        checkContrari.setChecked(false);
        desactivar_camps();
    }

    textNom.setText(bundle.getString("nom"));
    textDNI.setText(bundle.getString("dni"));
    textAdreça.setText(bundle.getString("adreça"));
    textTelefon.setText(bundle.getString("telefon"));
    textMarca.setText(bundle.getString("marca"));
    textModel.setText(bundle.getString("model"));
    textMatricula.setText(bundle.getString("matricula"));
    textAsseguradora.setText(bundle.getString("asseguradora"));
    textPolissa.setText(bundle.getString("polissa"));       

     //Implementem el botó de fer veure les fotos de l'accident en cas que n'hi hagin
    final Button veureFotos = (Button) findViewById(R.id.BotoVeureFotos);
    veureFotos.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            Intent intent = new Intent(v.getContext(), VeureFotos.class);
            intent.putExtras(bundle);
            v.getContext().startActivity(intent);
        //    this.overridePendingTransition(R.anim.left_in, R.anim.left_out);
        }
    });

    final Button eliminarAccident = (Button) findViewById(R.id.BotoEliminar);
    eliminarAccident.setOnClickListener(new View.OnClickListener() {
        public void onClick(final View v) {
            new AlertDialog.Builder(v.getContext())
                    .setTitle("Eliminar Accident?")
                    .setMessage("Estas segur que vols eliminar aquest accident?")
                    .setNegativeButton(android.R.string.no, null)
                    .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {

                        public void onClick(DialogInterface arg0, int arg1) {
                            AccesSQLite accesSQLite = new  AccesSQLite(v.getContext(), "DBAjudaEnAccidents", null, 1);
                            final SQLiteDatabase baseDades = accesSQLite.getWritableDatabase();
//   StringBuilder suprimirDades = new StringBuilder();
//   suprimirDades.append("DELETE FROM ACCIDENT WHERE data = ");
//   suprimirDades.append(data);
//   baseDades.delete("ACCIDENT", "", null);
//   baseDades.delete("ASSEGURAT", "data" + "=" + data, null);
                            baseDades.execSQL("DELETE FROM ACCIDENT WHERE data = " + data.toString());
                            baseDades.execSQL("DELETE FROM ASSEGURAT WHERE data = 19/04/2015 20:59");
                            baseDades.close();
                            onBackPressed();
                        }
                    }).create().show();
        }
    });
 }

public void activar_camps(){
    EditText et = (EditText) findViewById(R.id.NomCognoms);
    et.setVisibility(View.VISIBLE);
    et = (EditText) findViewById(R.id.DNI);
    et.setVisibility(View.VISIBLE);
    et = (EditText) findViewById(R.id.Adreça);
    et.setVisibility(View.VISIBLE);
    et = (EditText) findViewById(R.id.Telèfon);
    et.setVisibility(View.VISIBLE);
    et = (EditText) findViewById(R.id.MarcaVehicle);
    et.setVisibility(View.VISIBLE);
    et = (EditText) findViewById(R.id.ModelVehicle);
    et.setVisibility(View.VISIBLE);
    et = (EditText) findViewById(R.id.MatriculaVehicle);
    et.setVisibility(View.VISIBLE);
    et = (EditText) findViewById(R.id.Asseguradora);
    et.setVisibility(View.VISIBLE);
    et = (EditText) findViewById(R.id.NumeroPolissa);
    et.setVisibility(View.VISIBLE);

}

public void desactivar_camps(){
    EditText et = (EditText) findViewById(R.id.NomCognoms);
    et.setVisibility(View.GONE);
    et = (EditText) findViewById(R.id.DNI);
    et.setVisibility(View.GONE);
    et = (EditText) findViewById(R.id.Adreça);
    et.setVisibility(View.GONE);
    et = (EditText) findViewById(R.id.Telèfon);
    et.setVisibility(View.GONE);
    et = (EditText) findViewById(R.id.MarcaVehicle);
    et.setVisibility(View.GONE);
    et = (EditText) findViewById(R.id.ModelVehicle);
    et.setVisibility(View.GONE);
    et = (EditText) findViewById(R.id.MatriculaVehicle);
    et.setVisibility(View.GONE);
    et = (EditText) findViewById(R.id.Asseguradora);
    et.setVisibility(View.GONE);
    et = (EditText) findViewById(R.id.NumeroPolissa);
    et.setVisibility(View.GONE);

}

}

Aucun commentaire:

Enregistrer un commentaire