lundi 22 février 2016

sqlite returned: error code = 1, msg = near "CREATE_TABLE": syntax error

It is my Database class..which uses sqlite

...........................................

package com.app.qr;

import com.app.qr.STableData.TableInfo;

import android.content.ContentValues;

import android.content.Context;

import android.database.sqlite.SQLiteDatabase;

import android.database.sqlite.SQLiteOpenHelper;

import android.util.Log;

public class DatabaseOperations extends SQLiteOpenHelper {

public static final int database_version=1;

public String CREATE_QUERY = "CREATE_TABLE "+TableInfo.Table_Name+"("+TableInfo.QRcode+" TEXT,"+TableInfo.Name+" TEXT,"+TableInfo.Email+" TEXT,"+TableInfo.Address+" TEXT,"+TableInfo.Phone+" TEXT)";
public DatabaseOperations(Context context) {
    super(context,TableInfo.Database_Name, null, database_version);

    // TODO Auto-generated constructor stub
    Log.d("Database Operations", "Database Created");
}

@Override
public void onCreate(SQLiteDatabase sdb) {

        sdb.execSQL(CREATE_QUERY);

    Log.d("Database Operations", "Table Created");

} 

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    // TODO Auto-generated method stub

}

public void putInformation(DatabaseOperations sdop,String qr,String name,String email,String address,String ph)
{
    SQLiteDatabase SQ=sdop.getWritableDatabase();
    ContentValues scv = new ContentValues();
    scv.put(TableInfo.QRcode, qr);
    scv.put(TableInfo.Name, name);
    scv.put(TableInfo.Email, email);
    scv.put(TableInfo.Address, address);
    scv.put(TableInfo.Phone, ph);
    long k = SQ.insert(TableInfo.Table_Name, null, scv);
    Log.d("Database Operations", "One Row Inserted");
}

}

this is my activity class

...................

package com.app.qr;

import android.app.Activity;

import android.content.Context;

import android.os.Bundle;

import android.view.Menu;

import android.view.MenuItem;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.EditText;

import android.widget.Toast;

public class Single extends Activity {

EditText QRCODE,SNAME,EMAIL,ADDRESS,PHONE;

String qrcode,sname,email,address,phone;

Button ADD;

Context sctx=this;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_single);
    QRCODE =(EditText) findViewById(R.id.code);
    SNAME = (EditText) findViewById(R.id.name);
    EMAIL =(EditText) findViewById(R.id.mail);
    ADDRESS =(EditText) findViewById(R.id.adr);
    PHONE =(EditText) findViewById(R.id.ph);
    ADD=(Button) findViewById(R.id.sadd);
    ADD.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            qrcode=QRCODE.getText().toString();
            sname=SNAME.getText().toString();
            email=EMAIL.getText().toString();
            address=ADDRESS.getText().toString();
            phone=PHONE.getText().toString();
             DatabaseOperations DB=new DatabaseOperations(sctx);
             DB.putInformation(DB, qrcode, sname, email, address, phone);
             Toast.makeText(getBaseContext(), "Registration Successful", Toast.LENGTH_LONG).show();

            finish();
        }
    });

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.single, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    int id = item.getItemId();
    if (id == R.id.action_settings) {
        return true;
    }
    return super.onOptionsItemSelected(item);
}

}

and this is the table Info class

..............

package com.app.qr;

import android.provider.BaseColumns;

public class STableData {

public STableData()
{

}
    public static abstract class TableInfo implements BaseColumns
    {
        public static final String QRcode="code";
        public static final String Name="name";
        public static final String Email ="email";
        public static final String Address="address";
        public static final String Phone="phone";
        public static final String Database_Name="suser_info";
        public static final String Table_Name="sreg_info";


    }

}

my log cat is showing these error

02-22 21:00:16.374: D/dalvikvm(1362): Not late-enabling CheckJNI (already on)

02-22 21:00:16.534: D/gralloc_goldfish(1362): Emulator without GPU emulation detected.

02-22 21:01:00.406: D/Database Operations(1362): Database Created

02-22 21:01:00.435: I/SqliteDatabaseCpp(1362): sqlite returned: error code = 1, msg = near "CREATE_TABLE": syntax error, db=/data/data/http://ift.tt/1XIf8i4

02-22 21:01:00.435: D/AndroidRuntime(1362): Shutting down VM

02-22 21:01:00.435: W/dalvikvm(1362): threadid=1: thread exiting with uncaught exception (group=0xb312c180)

02-22 21:01:00.455: D/dalvikvm(1362): GC_CONCURRENT freed 128K, 2% free 12824K/12999K, paused 0ms+0ms

02-22 21:01:00.475: E/AndroidRuntime(1362): FATAL EXCEPTION: main

02-22 21:01:00.475: E/AndroidRuntime(1362): android.database.sqlite.SQLiteException: near "CREATE_TABLE": syntax error: , while compiling: CREATE_TABLE sreg_info(code TEXT,name TEXT,email TEXT,address TEXT,phone TEXT)

02-22 21:01:00.475: E/AndroidRuntime(1362): at android.database.sqlite.SQLiteCompiledSql.native_compile(Native Method)

02-22 21:01:00.475: E/AndroidRuntime(1362): at android.database.sqlite.SQLiteCompiledSql.(SQLiteCompiledSql.java:68)

02-22 21:01:00.475: E/AndroidRuntime(1362): at android.database.sqlite.SQLiteProgram.compileSql(SQLiteProgram.java:134)

02-22 21:01:00.475: E/AndroidRuntime(1362): at android.database.sqlite.SQLiteProgram.compileAndbindAllArgs(SQLiteProgram.java:361)

02-22 21:01:00.475: E/AndroidRuntime(1362): at android.database.sqlite.SQLiteStatement.acquireAndLock(SQLiteStatement.java:260)

02-22 21:01:00.475: E/AndroidRuntime(1362): at android.database.sqlite.SQLiteStatement.executeUpdateDelete(SQLiteStatement.java:84)

02-22 21:01:00.475: E/AndroidRuntime(1362): at android.database.sqlite.SQLiteDatabase.executeSql(SQLiteDatabase.java:1899)

02-22 21:01:00.475: E/AndroidRuntime(1362): at android.database.sqlite.SQLiteDatabase.execSQL(SQLiteDatabase.java:1839)

02-22 21:01:00.475: E/AndroidRuntime(1362): at com.app.qr.DatabaseOperations.onCreate(DatabaseOperations.java:28)

02-22 21:01:00.475: E/AndroidRuntime(1362): at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:165)

02-22 21:01:00.475: E/AndroidRuntime(1362): at com.app.qr.DatabaseOperations.putInformation(DatabaseOperations.java:42)

02-22 21:01:00.475: E/AndroidRuntime(1362): at com.app.qr.Single$1.onClick(Single.java:39)

02-22 21:01:00.475: E/AndroidRuntime(1362): at android.view.View.performClick(View.java:3511)

02-22 21:01:00.475: E/AndroidRuntime(1362): at android.view.View$PerformClick.run(View.java:14105)

02-22 21:01:00.475: E/AndroidRuntime(1362): at android.os.Handler.handleCallback(Handler.java:605)

02-22 21:01:00.475: E/AndroidRuntime(1362): at android.os.Handler.dispatchMessage(Handler.java:92)

02-22 21:01:00.475: E/AndroidRuntime(1362): at android.os.Looper.loop(Looper.java:137)

02-22 21:01:00.475: E/AndroidRuntime(1362): at android.app.ActivityThread.main(ActivityThread.java:4424)

02-22 21:01:00.475: E/AndroidRuntime(1362): at java.lang.reflect.Method.invokeNative(Native Method)

02-22 21:01:00.475: E/AndroidRuntime(1362): at java.lang.reflect.Method.invoke(Method.java:511)

02-22 21:01:00.475: E/AndroidRuntime(1362): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)

02-22 21:01:00.475: E/AndroidRuntime(1362): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)

02-22 21:01:00.475: E/AndroidRuntime(1362): at dalvik.system.NativeStart.main(Native Method)

02-22 21:01:01.005: I/dalvikvm(1362): threadid=3: reacting to signal 3

02-22 21:01:01.005: I/dalvikvm(1362): Wrote stack traces to '/data/anr/traces.txt'

02-22 21:01:01.536: I/dalvikvm(1362): threadid=3: reacting to signal 3

02-22 21:01:01.536: I/dalvikvm(1362): Wrote stack traces to '/data/anr/traces.txt'

02-22 21:01:02.045: I/dalvikvm(1362): threadid=3: reacting to signal 3

02-22 21:01:02.045: I/dalvikvm(1362): Wrote stack traces to '/data/anr/traces.txt'

02-22 21:01:02.545: I/dalvikvm(1362): threadid=3: reacting to signal 3

02-22 21:01:02.545: I/dalvikvm(1362): Wrote stack traces to '/data/anr/traces.txt'

02-22 21:01:03.045: I/dalvikvm(1362): threadid=3: reacting to signal 3

02-22 21:01:03.045: I/dalvikvm(1362): Wrote stack traces to '/data/anr/traces.txt'

02-22 21:01:03.545: I/dalvikvm(1362): threadid=3: reacting to signal 3

02-22 21:01:03.545: I/dalvikvm(1362): Wrote stack traces to '/data/anr/traces.txt'

02-22 21:01:04.045: I/dalvikvm(1362): threadid=3: reacting to signal 3

02-22 21:01:04.045: I/dalvikvm(1362): Wrote stack traces to '/data/anr/traces.txt'

02-22 21:01:04.545: I/dalvikvm(1362): threadid=3: reacting to signal 3

02-22 21:01:04.545: I/dalvikvm(1362): Wrote stack traces to '/data/anr/traces.txt'

02-22 21:01:05.055: I/dalvikvm(1362): threadid=3: reacting to signal 3

02-22 21:01:05.055: I/dalvikvm(1362): Wrote stack traces to '/data/anr/traces.txt'

02-22 21:01:05.565: I/dalvikvm(1362): threadid=3: reacting to signal 3

02-22 21:01:05.565: I/dalvikvm(1362): Wrote stack traces to '/data/anr/traces.txt'

02-22 21:01:06.075: I/dalvikvm(1362): threadid=3: reacting to signal 3

02-22 21:01:06.075: I/dalvikvm(1362): Wrote stack traces to '/data/anr/traces.txt'

02-22 21:01:06.345: D/gralloc_goldfish(1381): Emulator without GPU emulation detected.

Aucun commentaire:

Enregistrer un commentaire