title: Android- SQLiteException: (near Table: syntax error)
body: <p>Hello I am trying to create an sqlite for my app, but its not working. In the registration activity I am trying to save the info to the database.</p>
  
  <pre><code>05-24 14:47:37.047: E/SQLiteLog(18202): (1) near "TABLEMembers": syntax error
  05-24 14:47:37.047: D/AndroidRuntime(18202): Shutting down VM
  05-24 14:47:37.047: W/dalvikvm(18202): threadid=1: thread exiting with uncaught    exception (group=0x41e1b8b0)
  05-24 14:47:37.057: E/AndroidRuntime(18202): FATAL EXCEPTION: main
  05-24 14:47:37.057: E/AndroidRuntime(18202): android.database.sqlite.SQLiteException: near "TABLEMembers": syntax error (code 1): , while compiling: CREATE TABLEMembers(EmployerBOOLEAN,UnEmploydBOOLEAN,FirstNameTEXT,LastNameTEXT,NumberTEXT,EmailTEXT PRIMARY KEY,CompanyNameTEXT,PasswordTEXT)
  05-24 14:47:37.057: E/AndroidRuntime(18202):    at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
  05-24 14:47:37.057: E/AndroidRuntime(18202):    at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:889)
  05-24 14:47:37.057: E/AndroidRuntime(18202):    at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:500)
  05-24 14:47:37.057: E/AndroidRuntime(18202):    at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
  05-24 14:47:37.057: E/AndroidRuntime(18202):    at android.database.sqlite.SQLiteProgram.&lt;init&gt;(SQLiteProgram.java:58)
  05-24 14:47:37.057: E/AndroidRuntime(18202):    at android.database.sqlite.SQLiteStatement.&lt;init&gt;(SQLiteStatement.java:31)
  05-24 14:47:37.057: E/AndroidRuntime(18202):    at android.database.sqlite.SQLiteDatabase.executeSql(SQLiteDatabase.java:1682)
  05-24 14:47:37.057: E/AndroidRuntime(18202):    at android.database.sqlite.SQLiteDatabase.execSQL(SQLiteDatabase.java:1611)
  05-24 14:47:37.057: E/AndroidRuntime(18202):    at com.example.jobfinder.DatabaseHelper.onCreate(DatabaseHelper.java:53)
  05-24 14:47:37.057: E/AndroidRuntime(18202):    at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:252)
  05-24 14:47:37.057: E/AndroidRuntime(18202):    at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:164)
  05-24 14:47:37.057: E/AndroidRuntime(18202):    at com.example.jobfinder.DatabaseHelper.InsertRegestration(DatabaseHelper.java:71)
  05-24 14:47:37.057: E/AndroidRuntime(18202):    at com.example.jobfinder.RegestrationActivity$3.onClick(RegestrationActivity.java:108)
  05-24 14:47:37.057: E/AndroidRuntime(18202):    at android.view.View.performClick(View.java:4421)
  05-24 14:47:37.057: E/AndroidRuntime(18202):    at android.view.View$PerformClick.run(View.java:17903)
  05-24 14:47:37.057: E/AndroidRuntime(18202):    at android.os.Handler.handleCallback(Handler.java:730)
  05-24 14:47:37.057: E/AndroidRuntime(18202):    at android.os.Handler.dispatchMessage(Handler.java:92)
  05-24 14:47:37.057: E/AndroidRuntime(18202):    at android.os.Looper.loop(Looper.java:213)
  05-24 14:47:37.057: E/AndroidRuntime(18202):    at android.app.ActivityThread.main(ActivityThread.java:5225)
  05-24 14:47:37.057: E/AndroidRuntime(18202):    at java.lang.reflect.Method.invokeNative(Native Method)
  05-24 14:47:37.057: E/AndroidRuntime(18202):    at java.lang.reflect.Method.invoke(Method.java:525)
  05-24 14:47:37.057: E/AndroidRuntime(18202):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:741)
  05-24 14:47:37.057: E/AndroidRuntime(18202):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)
  05-24 14:47:37.057: E/AndroidRuntime(18202):    at dalvik.system.NativeStart.main(Native Method)
  05-24 14:47:38.308: I/Process(18202): Sending signal. PID: 18202 SIG: 9
  05-24 14:47:38.698: D/dalvikvm(18352): GC_FOR_ALLOC freed 492K, 33% free 7535K/11208K, paused 13ms, total 13ms
  05-24 14:47:38.718: I/dalvikvm-heap(18352): Grow heap (frag case) to 17.131MB for 9216016-byte allocation
  05-24 14:47:38.879: D/dalvikvm(18352): GC_FOR_ALLOC freed 4154K, 37% free 12891K/20212K, paused 12ms, total 12ms
  05-24 14:47:38.919: D/libEGL(18352): loaded /vendor/lib/egl/libEGL_adreno.so
  05-24 14:47:38.919: D/libEGL(18352): loaded /vendor/lib/egl/libGLESv1_CM_adreno.so
  05-24 14:47:38.929: D/libEGL(18352): loaded /vendor/lib/egl/libGLESv2_adreno.so
  05-24 14:47:38.929: I/Adreno-EGL(18352): &lt;qeglDrvAPI_eglInitialize:316&gt;: EGL 1.4 QUALCOMM build:  (CL4169980)
  05-24 14:47:38.929: I/Adreno-EGL(18352): OpenGL ES Shader Compiler Version: 17.01.10.SPL
  05-24 14:47:38.929: I/Adreno-EGL(18352): Build Date: 12/01/13 Sun
  05-24 14:47:38.929: I/Adreno-EGL(18352): Local Branch: 
  05-24 14:47:38.929: I/Adreno-EGL(18352): Remote Branch: 
  05-24 14:47:38.929: I/Adreno-EGL(18352): Local Patches: 
  05-24 14:47:38.929: I/Adreno-EGL(18352): Reconstruct Branch: 
  05-24 14:47:38.969: D/OpenGLRenderer(18352): Enabling debug mode 0
  05-24 14:47:40.140: W/IInputConnectionWrapper(18352): showStatusIcon on inactive       InputConnection
  </code></pre>
  
  <p>Here is my <em>databaseHandler</em> class:</p>
  
  <pre><code>package com.example.jobfinder;
  
  import android.content.ContentValues;
  import android.content.Context;
  import android.database.Cursor;
  import android.database.sqlite.SQLiteDatabase;
  import android.database.sqlite.SQLiteOpenHelper;
  
  
  public class DatabaseHelper extends SQLiteOpenHelper {
  
      // Logcat tag
      private static final String LOG = "DatabaseHelper";
  
      // Database Version
      private static final int DATABASE_VERSION = 1;
  
      // Database Name
      private static final String DATABASE_NAME = "JobFinder";
  
      // Table Names
      private static final String JobOffering = "JobOffering";
      private static final String Members = "Members";
  
      //Columes for memebers 
      private static final String Employer="Employer";
      private static final String UnEmployed="UnEmployd";
      private static final String FirstName="FirstName";
      private static final String LastName="LastName";
      private static final String Number="Number";
      private static final String Email="Email";
      private static final String CompanyName="CompanyName";
      private static final String Password="Password";
  
      //columes for JobOffering
      private static final String JobPosition="JobPosition";
      private static final String RequiredKnowladge="RequiredKnowladge";
      private static final String Credentials="Credentials";
  
      private static final String CREATE_Members="CREATE TABLE"+Members+"("+Employer+"BOOLEAN,"+UnEmployed+"BOOLEAN,"+FirstName+"TEXT,"+LastName+"TEXT,"
              +Number+"TEXT,"+Email+"TEXT PRIMARY KEY,"+CompanyName+"TEXT,"+Password+"TEXT"+")";
  
      private static final String CREATE_JobOffering="CRAETE TABLE"+JobOffering+"("+JobPosition+"TEXT,"+RequiredKnowladge+"TEXT,"+Credentials+"TEXT,"
      +Email+"TEXT PRIMARY KEY"+")";
  
      public DatabaseHelper(Context context) {
          super(context, DATABASE_NAME, null, DATABASE_VERSION);
  
      }
  
      @Override
      public void onCreate(SQLiteDatabase db) {
          db.execSQL(CREATE_Members);
          db.execSQL(CREATE_JobOffering);
  
      }
  
      @Override
      public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
          db.execSQL("DROP TABLE IF EXISTS " +Members);
          db.execSQL("DROP TABLE IF EXISTS " +JobOffering);
          onCreate(db);
  
      }
  
      public void InsertRegestration(RegestrationClass regestration)
      {
  
          SQLiteDatabase db = this.getWritableDatabase();
  
          ContentValues values = new ContentValues();
          values.put(Employer,regestration.getEmployer());
          values.put(UnEmployed,regestration.getUnemployed());
          values.put(FirstName,regestration.getFname());
          values.put(LastName,regestration.getLname());
          values.put(Number,regestration.getNumber());
          values.put(Email,regestration.getEmail());
          values.put(CompanyName,regestration.getCName());
          values.put(Password,regestration.getPassword());
          db.insert(Members, null, values);
  
      }
  
      public void ReturnLogin(LoginClass login)
      {
          String selectQuery = "SELECT  Password,Email FROM " + Members + " WHERE "
                  + Email + " = " +login.getUsername() ;
          SQLiteDatabase db = this.getWritableDatabase();
          Cursor cursor = db.rawQuery(selectQuery, null);
  
          login.setUsername(cursor.getString(cursor.getColumnIndex(Email)));
          login.setPassword(cursor.getString(cursor.getColumnIndex(Password)));
      }
  }
  </code></pre>
  
  <p>In this class I use the <code>EditText</code> to get the value and give them to the database:</p>
  
  <pre><code>package com.example.jobfinder;
  
  import android.app.Activity;
  import android.graphics.Color;
  import android.os.Bundle;
  import android.view.View;
  import android.widget.Button;
  import android.widget.EditText;
  import android.widget.RadioButton;
  import android.widget.RadioGroup;
  
  public class RegestrationActivity extends Activity {
  
  private Button mCreate;
  private RadioGroup mRadioPositionGroup;
  
  
  
   private EditText Fname,Lname,Number,Email,Password,mCName;
   private RadioButton mUnemployed;
    private RadioButton mEmployer;
    DatabaseHelper db;
  
  @Override
  protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.regestration_activity);
  
      db = new DatabaseHelper(getApplicationContext());
  
       mCreate=(Button)findViewById(R.id.create_button);
       mCName=(EditText)findViewById(R.id.companyname_edit);
      mRadioPositionGroup=(RadioGroup)findViewById(R.id.radiogroup);
       mUnemployed=(RadioButton)findViewById(R.id.unemployed_radio);
      mEmployer=(RadioButton)findViewById(R.id.employer_radio);
        Fname=(EditText)findViewById(R.id.fname_edit);
        Email=(EditText)findViewById(R.id.email_edit);
        Number=(EditText)findViewById(R.id.number_edit);
        Lname=(EditText)findViewById(R.id.lname_edit);
        Password=(EditText)findViewById(R.id.password_edit);
  
      mEmployer.setOnClickListener(new View.OnClickListener()
      {
          public void onClick(View V)
          {
              int selectedid=mRadioPositionGroup.getCheckedRadioButtonId();
              if(selectedid==(R.id.employer_radio))
              {mCName.setEnabled(true);
              mCName.setTextColor(Color.BLACK);
              }
          }
  
      });
  
      mUnemployed.setOnClickListener(new View.OnClickListener()
      {
          public void onClick(View V)
          {
              int selectedid=mRadioPositionGroup.getCheckedRadioButtonId();
              if(selectedid==(R.id.unemployed_radio))
              {mCName.setEnabled(false);
              mCName.setTextColor(Color.BLACK);
              }
          }
      });
  
      mCreate.setOnClickListener(new View.OnClickListener()
      { 
          @Override
          public void onClick(View v)
          {
              int selectedid=mRadioPositionGroup.getCheckedRadioButtonId();
              if(selectedid==(R.id.employer_radio))
              {
               //regestrationclass.setEmployer(true);
                  RegestrationClass regestrationclass=new RegestrationClass(true,false,Fname.getText().toString(),Lname.getText().toString(),Email.getText().toString(),Number.getText().toString(),mCName.getText().toString(),Password.getText().toString());
                  db.InsertRegestration(regestrationclass);
              }
              else{
  
                  // regestrationclass.setUnemployed(true);
                  RegestrationClass regestrationclass=new RegestrationClass(false,true,Fname.getText().toString(),Lname.getText().toString(),Email.getText().toString(),Number.getText().toString(),null,Password.getText().toString());
                  db.InsertRegestration(regestrationclass);
              }
              finish();
          }
      });
  }}
  </code></pre>