Android SQLiteException "no such table" when compiling: INSERT INTO table

There is no such table exception in the code. I read almost all the questions about this exception, did everything that was said. but still it won’t work. I could not find what the problem was. is there anyone who can help me?

public class Butcegiris extends Activity { EditText bakici, krediAraba, krediOgrenim, krediTatil, faturaElektrik; EditText faturaSu, faturaInternet, aidat, kaskoSigorta; Spinner yillar,aylar; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.butcegiris); bakici = (EditText) findViewById(R.id.editTextBakici); krediAraba = (EditText) findViewById(R.id.editTextKrediAraba); krediOgrenim = (EditText) findViewById(R.id.editTextOgrenimKredisi); krediTatil = (EditText) findViewById(R.id.editTextTatilKredisi); faturaElektrik = (EditText) findViewById(R.id.editTextFaturaElektrik); faturaSu = (EditText) findViewById(R.id.editTextFaturaSu); faturaInternet = (EditText) findViewById(R.id.editTextFaturaInternet); aidat = (EditText) findViewById(R.id.editTextAidat); kaskoSigorta = (EditText) findViewById(R.id.editTextKaskoSigorta); yillar=(Spinner)findViewById(R.id.spinnerYillar); aylar=(Spinner)findViewById(R.id.spinnerAylar); Button ileri = (Button) findViewById(R.id.buttonIleri); ileri.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { boolean didItWork=true; try { int bakicisql = Integer.valueOf(bakici.getText().toString()); int krediArabasql = Integer.valueOf(krediAraba.getText() .toString()); int krediOgrenimsql = Integer.valueOf(krediOgrenim.getText() .toString()); int krediTatilsql = Integer.valueOf(krediTatil.getText() .toString()); int faturaElektriksql = Integer.valueOf(faturaElektrik .getText().toString()); int faturaSusql = Integer .valueOf(faturaSu.getText().toString()); int faturaInternetsql = Integer.valueOf(faturaInternet .getText().toString()); int aidatsql = Integer.valueOf(aidat.getText().toString()); int kaskoSigortasql = Integer.valueOf(kaskoSigorta.getText() .toString()); String yil=yillar.getSelectedItem().toString(); String ay= aylar.getSelectedItem().toString(); TemporaryDatabase entry = new TemporaryDatabase(Butcegiris.this); entry.open(); entry.createEntryGiris(yil,ay,bakicisql, krediArabasql, krediOgrenimsql, krediTatilsql, faturaElektriksql, faturaSusql, faturaInternetsql, aidatsql, kaskoSigortasql); entry.close(); Intent intent = new Intent(Butcegiris.this, Butcehesapla.class); startActivity(intent); } catch (NumberFormatException e) { didItWork=false; } finally { if(didItWork){ Toast.makeText(Butcegiris.this,"Success", Toast.LENGTH_LONG).show(); } } } }); } protected void onPause() { super.onPause(); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.butcegiris_xml, menu); return true; } public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.ikinciSayfa: Intent intent = new Intent(Butcegiris.this, Butcehesapla.class); startActivity(intent); return true; } return false; } } 

Class TemporaryDatabase

  public class TemporaryDatabase { public static final String TAG = DbHelperTemporary.class.getSimpleName(); public static final String DB_NAME = "butcedb.sql"; private static String DB_PATH = "/data/data/com.deitel.btc/assets/"; public static final int DB_VERSION = 2; public static final String DB_TABLE = "harcamalar"; public static final String C_ID = BaseColumns._ID;// Special for id public static final String C_YIL = "spinnerYillar"; public static final String C_AY = "spinnerAylar"; public static final String C_BAKICI = "editTextBakici"; public static final String C_KREDIARABA = "editTextKrediAraba"; public static final String C_KREDIOGRENIM = "editTextKrediOgrenim"; public static final String C_KREDITATIL = "editTextKrediTatil"; public static final String C_FATURAELEKTRIK = "editTextFaturaElektrik"; public static final String C_FATURASU = "editTextFaturaSu"; public static final String C_FATURAINTERNET = "editTextFaturaInternet"; public static final String C_AIDAT = "editTextAidat"; public static final String C_KASKOSIGORTA = "editTextKaskoSigorta"; public static final String C_DIGERTAKSITLER = "editTextDigerTaksitler"; public static final String C_DIGER = "editTextDiger"; public static final String C_MAASSELO = "editTextMaasSelo"; public static final String C_MAASHILAL = "editTextMaasHilal"; public static final String C_DIGERGELIRLER = "editTextDigerGelirler"; public static final String C_TOPLAMHARCAMA = "editTextToplamHarcama"; public static final String C_TOPLAMGELIR = "editTextToplamGelir"; public static final String C_ELDEKALAN = "editTextEldeKalan"; public static final String CREATE_TABLE="CREATE TABLE ıf not exists harcamalar (C_ID int primary key autoincrement," + "C_YIL int,C_AY TEXT,C_BAKICI int,C_KREDIARABA int,C_KREDIOGRENIM int,C_KREDITATIL int," + "C_FATURAELEKTRIK int,C_FATURASU int,C_FATURAINTERNET int,C_AIDAT int,C_KASKOSIGORTA int," + "C_DIGERTAKSITLER int,C_DIGER int,C_MAASSELO int,C_MAASHILAL int,C_DIGERGELIRLER int," + "C_TOPLAMHARCAMA int,C_TOPLAMGELIR int, C_ELDEKALAN int);"; private DbHelperTemporary dbHelper; private final Context ourContext; private SQLiteDatabase ourDatabase; private static class DbHelperTemporary extends SQLiteOpenHelper { public DbHelperTemporary(Context context) { super(context, DB_NAME, null, DB_VERSION); } @Override public void onCreate(SQLiteDatabase db) { try { Log.d(TAG, "onCreate sql: " + CREATE_TABLE); db.execSQL(CREATE_TABLE); } catch (SQLException e) { e.printStackTrace(); } } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { db.execSQL("drop table if exists " + DB_TABLE); Log.w(TAG, "onUpdate drop table " + DB_TABLE); onCreate(db); } } public TemporaryDatabase(Context c) { ourContext = c; } public void openDatabase() throws SQLException { ourDatabase = SQLiteDatabase.openDatabase(DB_PATH + DB_NAME, null, SQLiteDatabase.OPEN_READWRITE); } public void open() throws NumberFormatException { try { dbHelper = new DbHelperTemporary(ourContext); ourDatabase = dbHelper.getWritableDatabase(); return ; } catch (Exception e) { Log.d(TAG,"Couldn't open database"+DB_NAME); e.printStackTrace(); } } public void close() { dbHelper.close(); ourDatabase.close(); } public long createEntryGiris(String yilsql, String aysql, int bakicisql, int krediArabasql, int krediOgrenimsql, int krediTatilsql, int faturaElektriksql, int faturaSusql, int faturaInternetsql, int aidatsql, int kaskoSigortasql) { ContentValues cv = new ContentValues(); cv.put(C_YIL, yilsql); cv.put(C_AY, aysql); cv.put(C_BAKICI, bakicisql); cv.put(C_KREDIARABA, krediArabasql); cv.put(C_KREDIOGRENIM, krediOgrenimsql); cv.put(C_KREDITATIL, krediTatilsql); cv.put(C_FATURAELEKTRIK, faturaElektriksql); cv.put(C_FATURASU, faturaSusql); cv.put(C_FATURAINTERNET, faturaInternetsql); cv.put(C_AIDAT, aidatsql); cv.put(C_KASKOSIGORTA, kaskoSigortasql); return ourDatabase.insert(DB_TABLE, null, cv); } public String[] getData() { String[] columns = new String[] { C_YIL, C_AY, C_BAKICI, C_KREDIARABA, C_KREDIOGRENIM, C_KREDITATIL, C_FATURAELEKTRIK, C_FATURASU, C_FATURAINTERNET, C_AIDAT, C_KASKOSIGORTA }; Cursor c = ourDatabase.query(DB_TABLE, columns, null, null, null, null, null); String[] result = new String[10]; //int i_yil = c.getColumnIndex(C_YIL); //int i_ay = c.getColumnIndex(C_AY); int i_bakici = c.getColumnIndex(C_BAKICI); int i_krediaraba = c.getColumnIndex(C_KREDIARABA); int i_krediogrenim = c.getColumnIndex(C_KREDIOGRENIM); int i_kreditatil = c.getColumnIndex(C_KREDITATIL); int i_faturaelektrik = c.getColumnIndex(C_FATURAELEKTRIK); int i_faturasu = c.getColumnIndex(C_FATURASU); int i_faturainternet = c.getColumnIndex(C_FATURAINTERNET); int i_aidat = c.getColumnIndex(C_AIDAT); int i_kaskosigorta = c.getColumnIndex(C_KASKOSIGORTA); if (c.moveToLast()) { result[0]=c.getString(i_bakici); result[1]=c.getString(i_krediaraba); result[2]=c.getString(i_krediogrenim); result[3]=c.getString(i_kreditatil); result[4]=c.getString(i_faturaelektrik); result[5]=c.getString(i_faturasu); result[6]=c.getString(i_faturainternet); result[7]=c.getString(i_aidat); result[8]=c.getString(i_kaskosigorta); /*result = c.getString(i_bakici) + " " + c.getString(i_krediaraba) + " " + c.getString(i_krediogrenim) + " "+ c.getString(i_kreditatil) + " "+ c.getString(i_faturaelektrik) + " " + c.getString(i_faturasu) + " "+ c.getString(i_faturainternet) + " " + c.getString(i_aidat) + " " + c.getString(i_kaskosigorta);*/ } return result; } } 

And here is the xml file

  <?xml version="1.0" encoding="utf-8"?> <TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <TableRow android:id="@+id/tableRow1" android:layout_width="match_parent" android:layout_height="wrap_content" > <TextView android:id="@+id/textButtonBakici" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="@string/textBakici" android:textAppearance="?android:attr/textAppearanceSmall" /> <EditText android:id="@+id/editTextBakici" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_span="3" android:layout_weight="1" android:hint="@string/altiyuzyirmibes" android:inputType="numberDecimal" /> </TableRow> <TableRow android:id="@+id/tableRow2" android:layout_width="wrap_content" android:layout_height="wrap_content" > <TextView android:id="@+id/textKrediAraba" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="@string/textKrediAraba" android:textAppearance="?android:attr/textAppearanceSmall" /> <EditText android:id="@+id/editTextKrediAraba" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_span="3" android:layout_weight="1" android:hint="@string/besyuzdoksan" android:inputType="numberDecimal" /> </TableRow> <TableRow android:id="@+id/tableRow3" android:layout_width="wrap_content" android:layout_height="wrap_content" > <TextView android:id="@+id/textOgrenimKredisi" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="@string/textOgrenimKredisi" android:textAppearance="?android:attr/textAppearanceSmall" /> <EditText android:id="@+id/editTextOgrenimKredisi" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_span="3" android:layout_weight="1" android:hint="@string/dortyuzon" android:inputType="numberDecimal" /> </TableRow> <TableRow android:id="@+id/tableRow4" android:layout_width="wrap_content" android:layout_height="wrap_content" > <TextView android:id="@+id/textTatilKredisi" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="@string/textTatilKredisi" android:textAppearance="?android:attr/textAppearanceSmall" /> <EditText android:id="@+id/editTextTatilKredisi" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_span="3" android:layout_weight="1" android:hint="@string/yuzotuzbes" android:inputType="numberDecimal" /> </TableRow> <TableRow android:id="@+id/tableRow5" android:layout_width="wrap_content" android:layout_height="wrap_content" > <TextView android:id="@+id/textFaturaElektrik" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="@string/textFaturaElektrik" android:textAppearance="?android:attr/textAppearanceSmall" /> <EditText android:id="@+id/editTextFaturaElektrik" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_span="3" android:layout_weight="1" android:hint="@string/sifir" android:inputType="numberDecimal" /> </TableRow> <TableRow android:id="@+id/tableRow6" android:layout_width="wrap_content" android:layout_height="wrap_content" > <TextView android:id="@+id/textFaturaSu" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="@string/textFaturaSu" android:textAppearance="?android:attr/textAppearanceSmall" /> <EditText android:id="@+id/editTextFaturaSu" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_span="3" android:layout_weight="1" android:hint="@string/sifir" android:inputType="numberDecimal" /> </TableRow> <TableRow android:id="@+id/tableRow7" android:layout_width="wrap_content" android:layout_height="wrap_content" > <TextView android:id="@+id/textFaturaInternet" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="@string/textFaturaInternet" android:textAppearance="?android:attr/textAppearanceSmall" /> <EditText android:id="@+id/editTextFaturaInternet" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_span="3" android:layout_weight="1" android:hint="@string/otuz" android:inputType="numberDecimal" /> </TableRow> <TableRow android:id="@+id/tableRow8" android:layout_width="wrap_content" android:layout_height="wrap_content" > <TextView android:id="@+id/textAidat" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="@string/textAidat" android:textAppearance="?android:attr/textAppearanceSmall" /> <EditText android:id="@+id/editTextAidat" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_span="3" android:layout_weight="1" android:hint="@string/sifir" android:inputType="numberDecimal" /> </TableRow> <TableRow android:id="@+id/tableRow9" android:layout_width="wrap_content" android:layout_height="wrap_content"> <TextView android:id="@+id/textKaskoSigorta" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="@string/textKaskoSigorta" android:textAppearance="?android:attr/textAppearanceSmall" /> <EditText android:id="@+id/editTextKaskoSigorta" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_span="3" android:layout_weight="1" android:ems="10" android:hint="@string/ikiyuzyirmibes" android:inputType="numberDecimal" > <requestFocus /> </EditText> </TableRow> <TableRow android:id="@+id/tableRow10" android:layout_width="wrap_content" android:layout_height="wrap_content" > <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="horizontal" android:layout_weight="10"> <Spinner android:id="@+id/spinnerYillar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="3" android:entries="@array/Yillar" android:prompt="@string/promptYillar" /> <Spinner android:id="@+id/spinnerAylar" android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_weight="3" android:prompt="@string/prompt" android:entries="@array/Aylar" /> </LinearLayout> <Button android:id="@+id/buttonIleri" style="?android:attr/buttonStyleSmall" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_gravity="right" android:gravity="right" android:layout_weight="0" android:background="@drawable/navigation_forward" /> </TableRow> </TableLayout> 

I know this is a long time, but I could not find the problem. Thank you so much for your help.

 no such table: harcamalar Error inserting spinnerYillar=2012 editTextFaturaSu=9 editTextKrediOgrenim=9 editTextAidat=9 editTextFaturaElektrik=99 editTextKaskoSigorta=9 editTextKrediAraba=9 spinnerAylar=Ocak editTextFaturaInternet=6 editTextBakici=9 editTextKrediTatil=9 android.database.sqlite.SQLiteException: no such table: harcamalar (code 1): , while compiling: INSERT INTO harcamalar(spinnerYillar,editTextFaturaSu,editTextKrediOgrenim,editTextAidat,editTextFaturaElektrik,editTextKaskoSigorta,editTextKrediAraba,spinnerAylar,editTextFaturaInternet,editTextBakici,editTextKrediTatil) VALUES (?,?,?,?,?,?,?,?,?,?,?) at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method) at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:882) at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:493) at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588) at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:58) at android.database.sqlite.SQLiteStatement.<init>(SQLiteStatement.java:31) at android.database.sqlite.SQLiteDatabase.insertWithOnConflict(SQLiteDatabase.java:1467) at android.database.sqlite.SQLiteDatabase.insert(SQLiteDatabase.java:1339) at com.deitel.btc.TemporaryDatabase.createEntryGiris(TemporaryDatabase.java:131) at com.deitel.btc.Butcegiris$1.onClick(Butcegiris.java:69) at android.view.View.performClick(View.java:4202) at android.view.View$PerformClick.run(View.java:17340) at android.os.Handler.handleCallback(Handler.java:725) at android.os.Handler.dispatchMessage(Handler.java:92) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:5039) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 12-19 12:27:17.976: E/SQLiteDatabase(1023): at dalvik.system.NativeStart.main(Native Method) 
+8
java android eclipse database sqlite
source share
3 answers

Instead of int, use integer in CREATE_TABLE statement

Therefore use

 C_ID integer primary key autoincrement 

Tick doc

Quoted

you should use "INTEGER" and not "INT". A column of type INT PRIMARY KEY is impersonal, like any other

Instead

 CREATE TABLE ıf not exists harcamalar (C_ID int primary key autoincrement," + "C_YIL int,C_AY TEXT,C_BAKICI int .. so on 

to

 CREATE TABLE ıf not exists harcamalar (C_ID int primary key autoincrement," + C_YIL + "int," + C_AY + "TEXT,"+ C_BAKICI +" int .. so on 

You need to add the value of the variables, not the variable names

+2
source share

Your CREATE_TABLE statement seems wrong.

 CREATE TABLE ıf 

should be

 CREATE TABLE if 

I am having problems using the expression "if does not exist" before, perhaps you can try without it if my first sentence does not work, to try to narrow it down. You can also try to enter "integer" instead of "int" in the sql statement. Not sure if shorthand is legal.

+5
source share

I had the same problem with creating my application, I tried everything and nothing worked. The database was just fine with the table name.

Called: android.database.sqlite.SQLiteException: no such table: (code 1) Android

Solution: The only way to solve the problem is to remove the application from the emulator:

1- Open the emulator, go to Settings 2 - click "Applications" 3- scroll to find your application name 4- Double-click on it 5- Force Stop 6- UnInstall it.

run the application again from android studio and try checking the connection to the database. It worked for me, good luck.

0
source share

All Articles