title: IllegalStateException: couldn't read row 0, col -1 from cursorWindow
body: <p>IllegalStateException: couldn't read row 0, col -1 from cursorWindow. I am new to android I looked at smiller question did solve my problem help please Thanks in advance.</p>
  
  <p>here my code:</p>
  
  <pre><code>// function to add data in to db
      public void CreatExpenses(View view)
      {
                     mCategory = (Spinner  )findViewById(R.id.spCategory);
            EditText edittext2 = (EditText )findViewById(R.id.AmountEditText);
            EditText edittext3 = (EditText )findViewById(R.id.PayTypeEditText);
            EditText edittext4 = (EditText )findViewById(R.id.DateEditText);
  
            category    =mCategory.getSelectedItem().toString();
            Amount      =edittext2.getText().toString();
            PaymentType =edittext3.getText().toString();
            Date        =edittext4.getText().toString();
  
            db.execSQL("INSERT INTO  Expenses VALUES('"+category+"','"+Amount+"','"+PaymentType+"','"+Date+"');");
  
            Toast.makeText(getBaseContext(),
  
                 "Your info is saved successfully!",
                    Toast.LENGTH_SHORT).show();
      }
  
      public void ShowExpens(View view)
      {
          Cursor c=db.rawQuery("SELECT * from Expenses", null);
           int count= c.getCount();
          c.moveToFirst();
          TableLayout tableLayout = new TableLayout(getApplicationContext());
          tableLayout.setVerticalScrollBarEnabled(true);
         TableRow tableRow;
         TextView textView,textView1,textView2,textView3,textView4,textView5,textView6;
         tableRow = new TableRow(getApplicationContext());
         textView=new TextView(getApplicationContext());
         textView.setText("Expense_Category");
         textView.setTextColor(Color.RED);
          textView.setTypeface(null, Typeface.BOLD);
           textView.setPadding(20, 20, 20, 20);
          tableRow.addView(textView);
  
          textView4=new TextView(getApplicationContext());
          textView4.setText("Amount");
          textView4.setTextColor(Color.GREEN);
          textView4.setTypeface(null, Typeface.BOLD);
           textView4.setPadding(20, 20, 20, 20);
          tableRow.addView(textView4);
  
          textView5=new TextView(getApplicationContext());
          textView5.setText("PaymentType");
          textView5.setTextColor(Color.RED);
          textView5.setTypeface(null, Typeface.BOLD);
          textView5.setPadding(20, 20, 20, 20);
          tableRow.addView(textView5);
  
          textView6 = new TextView(getApplicationContext());
          textView6.setText("Date");
          textView6.setTextColor(Color.RED);
          textView6.setTypeface(null, Typeface.BOLD);
          textView6.setPadding(20, 20, 20, 20);
          tableRow.addView(textView6);
  
         tableLayout.addView(tableRow);
  
           for (Integer j = 0; j &lt; count; j++)
           {
               tableRow = new TableRow(getApplicationContext());
               textView1 = new TextView(getApplicationContext());
               textView1.setText(c.getString(c.getColumnIndex("Expense_Category ")));
               textView2 = new TextView(getApplicationContext());
               textView2.setText(c.getString(c.getColumnIndex("Amount")));
               textView3 = new TextView(getApplicationContext());
               textView3.setText(c.getString(c.getColumnIndex("PaymentType")));
               textView4 = new TextView(getApplicationContext());
               textView4.setText(c.getString(c.getColumnIndex("Date")));
  
               textView1.setPadding(20, 20, 20, 20);
               textView2.setPadding(20, 20, 20, 20);
               textView3.setPadding(20, 20, 20, 20);
               textView4.setPadding(20, 20, 20, 20);
  
               tableRow.addView(textView1);
               tableRow.addView(textView2);
               tableRow.addView(textView3);
               tableRow.addView(textView4);
  
               tableLayout.addView(tableRow);
               c.moveToNext() ;
           }
           setContentView(tableLayout);
      db.close();
      }
      public void close(View view)
      {
          System.exit(0);
      }
  }
  </code></pre>
  
  <p>this the LogCat</p>
  
  <pre><code>11-12 09:50:01.978: E/CursorWindow(871): Failed to read row 0, column -1 from a CursorWindow which has 1 rows, 4 columns.
  11-12 09:50:01.988: D/AndroidRuntime(871): Shutting down VM
  11-12 09:50:01.988: W/dalvikvm(871): threadid=1: thread exiting with uncaught exception (group=0x41465700)
  11-12 09:50:02.148: E/AndroidRuntime(871): FATAL EXCEPTION: main
  11-12 09:50:02.148: E/AndroidRuntime(871): java.lang.IllegalStateException: Could not execute method of the activity
  11-12 09:50:02.148: E/AndroidRuntime(871):  at android.view.View$1.onClick(View.java:3633)
  11-12 09:50:02.148: E/AndroidRuntime(871):  at android.view.View.performClick(View.java:4240)
  11-12 09:50:02.148: E/AndroidRuntime(871):  at android.view.View$PerformClick.run(View.java:17721)
  11-12 09:50:02.148: E/AndroidRuntime(871):  at android.os.Handler.handleCallback(Handler.java:730)
  11-12 09:50:02.148: E/AndroidRuntime(871):  at android.os.Handler.dispatchMessage(Handler.java:92)
  11-12 09:50:02.148: E/AndroidRuntime(871):  at android.os.Looper.loop(Looper.java:137)
  11-12 09:50:02.148: E/AndroidRuntime(871):  at android.app.ActivityThread.main(ActivityThread.java:5103)
  11-12 09:50:02.148: E/AndroidRuntime(871):  at java.lang.reflect.Method.invokeNative(Native Method)
  11-12 09:50:02.148: E/AndroidRuntime(871):  at java.lang.reflect.Method.invoke(Method.java:525)
  11-12 09:50:02.148: E/AndroidRuntime(871):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
  11-12 09:50:02.148: E/AndroidRuntime(871):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
  11-12 09:50:02.148: E/AndroidRuntime(871):  at dalvik.system.NativeStart.main(Native Method)
  11-12 09:50:02.148: E/AndroidRuntime(871): Caused by: java.lang.reflect.InvocationTargetException
  11-12 09:50:02.148: E/AndroidRuntime(871):  at java.lang.reflect.Method.invokeNative(Native Method)
  11-12 09:50:02.148: E/AndroidRuntime(871):  at java.lang.reflect.Method.invoke(Method.java:525)
  11-12 09:50:02.148: E/AndroidRuntime(871):  at android.view.View$1.onClick(View.java:3628)
  11-12 09:50:02.148: E/AndroidRuntime(871):  ... 11 more
  11-12 09:50:02.148: E/AndroidRuntime(871): Caused by: java.lang.IllegalStateException: Couldn't read row 0, col -1 from CursorWindow.  Make sure the Cursor is initialized correctly before accessing data from it.
  11-12 09:50:02.148: E/AndroidRuntime(871):  at android.database.CursorWindow.nativeGetString(Native Method)
  11-12 09:50:02.148: E/AndroidRuntime(871):  at android.database.CursorWindow.getString(CursorWindow.java:434)
  11-12 09:50:02.148: E/AndroidRuntime(871):  at android.database.AbstractWindowedCursor.getString(AbstractWindowedCursor.java:51)
  11-12 09:50:02.148: E/AndroidRuntime(871):  at com.info.househouldexpcalulator.MainActivity.ShowExpens(MainActivity.java:113)
  11-12 09:50:02.148: E/AndroidRuntime(871):  ... 14 more
  11-12 09:50:02.308: D/dalvikvm(871): GC_FOR_ALLOC freed 178K, 8% free 2841K/3076K, paused 54ms, total 89ms
  </code></pre>