I get this when I give it to insert:
android.database.sqlite.SQLiteException: near "TABLETables_Telephones": syntax error (code 1) ;, while compiling: CREATE TABLETableTable_phones (idITEGER PRIMARY KEY AUTOINCREMENT, person_nameTEXTNOTNULL, telephone_personnelTEXT NOT NULL);
Main activity:
package com.example.braulioargueta.sql;
import android.app.Activity;
import android.app.Dialog;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class SQLiteActivity extends Activity implements View.OnClickListener{
EditText nombre, telefono, ebuscar;
Button insertar, ver,buscar, editar, eliminar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
nombre = (EditText) findViewById(R.id.edNombre);
telefono = (EditText) findViewById(R.id.edTelefono);
insertar = (Button) findViewById(R.id.btInsertar);
ver = (Button) findViewById(R.id.btVer);
ebuscar = (EditText) findViewById(R.id.etBuscar);
buscar = (Button) findViewById(R.id.btBuscar);
editar = (Button) findViewById(R.id.btEditar);
eliminar = (Button) findViewById(R.id.btEliminar);
insertar.setOnClickListener(this);
buscar.setOnClickListener(this);
editar.setOnClickListener(this);
eliminar.setOnClickListener(this);
ver.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.btInsertar:
boolean funciona= true;
try {
String nom = nombre.getText().toString();
String tel = telefono.getText().toString();
nombre.setText("");
telefono.setText("");
Telefonos entrada = new Telefonos(SQLiteActivity.this);
entrada.abrir();
entrada.crearEntrada(nom, tel);
entrada.cerrar();
}catch(Exception e){
funciona = false;
String error = e.toString();
Dialog d = new Dialog (this);
d.setTitle("NO FUNCIONA");
TextView tv = new TextView(this);
tv.setText(error);
d.setContentView(tv);
d.show();
}finally {
if (funciona) {
Dialog d = new Dialog(this);
d.setTitle("NO FUNCIONA");
TextView tv = new TextView(this);
tv.setText("¡FUNCIONA!");
d.setContentView(tv);
d.show();
}
}
break;
case R.id.btVer:
Intent i = new Intent("com.example.braulioargueta.sql.SQLVista");
startActivity(i);
break;
case R.id.btBuscar:
String b = ebuscar.getText().toString();
Long lb = Long.parseLong(b);
Telefonos tel = new Telefonos(this);
try {
tel.abrir();
} catch (Exception e) {
e.printStackTrace();
}
String bN = tel.getN(lb);
String bT = tel.getT(lb);
tel.cerrar();
nombre.setText(bN);
telefono.setText(bT);
break;
case R.id.btEditar:
try {
String eNomb = nombre.getText().toString();
String eTel = telefono.getText().toString();
String eFila = ebuscar.getText().toString();
long eFilal = Long.parseLong(eFila);
Telefonos editar = new Telefonos(this);
editar.abrir();
editar.editar(eFilal, eNomb, eTel);
editar.cerrar();
}catch(Exception e){
String error = e.toString();
Dialog d = new Dialog(this);
d.setTitle("NO FUNCIONO");
TextView tv = new TextView(this);
tv.setText(error);
d.setContentView(tv);
d.show();
}
break;
case R.id.btEliminar:
try {
String elFila = ebuscar.getText().toString();
long elFilal = Long.parseLong(elFila);
Telefonos borrar = new Telefonos(this);
borrar.abrir();
borrar.borrar(elFilal);
borrar.cerrar();
}catch (Exception e){
String error = e.toString();
Dialog d = new Dialog(this);
d.setTitle("NO FUNCIONO");
TextView tv = new TextView(this);
tv.setText(error);
d.setContentView(tv);
d.show();
}
break;
}
}
}
Activity Phones, is the one that helps me:
package com.example.braulioargueta.sql;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class Telefonos {
public static final String ID_FILA = "id";
public static final String ID_PERSONA = "nombre_persona";
public static final String ID_TELEFONO = "telefono_persona";
private static final String N_BD = "Telefonos";
private static final String N_TABLA = "Tabla_Telefonos";
private static final int VERSION_BD = 1;
private BDHelper nHelper;
private final Context nContexto;
private SQLiteDatabase nBD;
private static class BDHelper extends SQLiteOpenHelper {
public BDHelper(Context context) {
super(context, N_BD, null, VERSION_BD);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE" + N_TABLA + "(" +
ID_FILA + "INTEGER PRIMARY KEY AUTOINCREMENT, " +
ID_PERSONA + "TEXT NOT NULL, " +
ID_TELEFONO + "TEXT NOT NULL);"
);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS" + N_TABLA);
onCreate(db);
}
}
public Telefonos(Context c){
nContexto = c;
}
public Telefonos abrir()throws Exception{
nHelper = new BDHelper(nContexto);
nBD = nHelper.getWritableDatabase();
return this;
}
public void cerrar() {
nHelper.close();
}
public long crearEntrada(String nom, String tel) {
ContentValues cv = new ContentValues();
cv.put(ID_PERSONA, nom);
cv.put(ID_TELEFONO, tel);
return nBD.insert(N_TABLA, null, cv);
}
public String recibir() {
String[]columnas = new String[]{ID_FILA, ID_PERSONA, ID_TELEFONO};
Cursor c = nBD.query(N_TABLA, columnas, null, null, null, null, null);
String resultado ="";
int iFila = c.getColumnIndex(ID_FILA);
int iNombre = c.getColumnIndex(ID_PERSONA);
int iTelefono = c.getColumnIndex(ID_TELEFONO);
for(c.moveToFirst(); !c.isAfterLast(); c.moveToNext()){
resultado = resultado + c.getString(iFila) + "" + c.getString(iNombre) + "" + c.getString(iTelefono) + "\n" ;
}
return resultado;
}
public void editar(long eFilal, String eNomb, String eTel) throws SQLException {
ContentValues cvEditar = new ContentValues();
cvEditar.put(ID_PERSONA, eNomb);
cvEditar.put(ID_TELEFONO, eTel);
nBD.update(N_TABLA,cvEditar, ID_FILA + "=" + eFilal, null);
}
public void borrar(long elFilal) throws SQLException {
nBD.delete(N_TABLA, ID_FILA + "=" +elFilal, null);
}
public String getN(Long lb) {
String[]columnas = new String[]{ID_FILA, ID_PERSONA, ID_TELEFONO};
Cursor c = nBD.query(N_TABLA, columnas, ID_FILA + "=" + lb, null, null, null, null);
if (c != null){
c.moveToFirst();
String nb = c.getString(1);
return nb;
}
return null;
}
public String getT(Long lb) {
String[]columnas = new String[]{ID_FILA, ID_PERSONA,ID_TELEFONO};
Cursor c = nBD.query(N_TABLA, columnas, ID_FILA + "=" + lb, null, null, null, null);
if (c != null){
c.moveToFirst();
String tb = c.getString(2);
return tb;
}
return null;
}
}
Activity View:
package com.example.braulioargueta.sql;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class SQLVista extends Activity {
TextView texto;
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.vista);
texto = (TextView) findViewById(R.id.tvTexto);
Telefonos info = new Telefonos(this);
try {
info.abrir();
} catch (Exception e) {
e.printStackTrace();
}
String datos = info.recibir();
info.cerrar();
texto.setText(datos);
}
}