English 中文(简体)
甲型六氯环己烷和乙型六氯环己烷
原标题:android app db.execSQL - create two databases sqlite

I am trying to set two databases. After lunch the emulator, and trying to enter data, I have tried to find the exact reason of this error but without success.

我犯了一个错误:

05-17 16:23:06.410:E/AndroidRuntime(311):android.database.sqlite.SQLiteException: near “NULbaby_age_个月”: syntax误差: CREATE TABLE facilities (_id INTERT PRIMaire KEYAUTOINCREMENT, uri_baby TEXT NOT NUL, Infant_name TEXT NOT NUL, Infant_gender TEXT NOT NUL, Infant_age_year TEXT NOT NULbaby_age_个月 TEXT NOT NULbaby_age_day TEXT NOT NUL;

The Database Code is:

package com.tamar.efrat;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteException;
import android.database.sqlite.SQLiteOpenHelper;

public class DatBas {

public static final String KEY_ROWID = "_id";
public static final String KEY_SHOURS = "start_hour";
public static final String KEY_SMINUTE = "start_minute";
public static final String KEY_SDATE = "start_date";
public static final String KEY_AMOUNT = "amount";
public static final String KEY_SIDE = "side";
public static final String KEY_KIND = "kind";

public static final String KEY_ROW_BABY_ID = "_id";
public static final String KEY_BABY_IMAGE_PATH = "uri_baby";
public static final String KEY_BABY_NAME = "baby_name";
public static final String KEY_BABY_GENDER = "baby_gender";
public static final String KEY_BABY_BORN_DATE_YEAR = "baby_age_year";
public static final String KEY_BABY_BORN_DATE_MONTH = "baby_age_month";
public static final String KEY_BABY_BORN_DATE_DAY = "baby_age_day";

private static final String DATABASE_NAME = "TamatDB";
private static final String DATABASE_TABLE = "stop_watch_records";
private static final String DATABASE_TABLE_SETTINGS = "settings";

private static final int DATABASE_VERSION = 20;

private TamarDatabase thdb;
private static Context tcontext;
private SQLiteDatabase tdb;

private static class TamarDatabase extends SQLiteOpenHelper {

    public TamarDatabase(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        String ctData = "CREATE TABLE  " + DATABASE_TABLE + " ( "
                + KEY_ROWID + " INTEGER PRIMARY KEY AUTOINCREMENT, "
                + KEY_SHOURS + " TEXT NOT NULL, " + KEY_SMINUTE
                + " TEXT NOT NULL, " + KEY_SDATE + " TEXT NOT NULL, "
                + KEY_AMOUNT + " TEXT NOT NULL, " + KEY_SIDE
                + " TEXT NOT NULL, " + KEY_KIND + " TEXT NOT NULL );";
        db.execSQL(ctData);

        String ctSettings = "CREATE TABLE " + DATABASE_TABLE_SETTINGS
                + " ( " + KEY_ROW_BABY_ID
                + " INTEGER PRIMARY KEY AUTOINCREMENT, "
                + KEY_BABY_IMAGE_PATH + " TEXT NOT NULL, " + KEY_BABY_NAME
                + " TEXT NOT NULL, " + KEY_BABY_GENDER + " TEXT NOT NULL, "
                + KEY_BABY_BORN_DATE_YEAR + " TEXT NOT NULL"
                + KEY_BABY_BORN_DATE_MONTH + " TEXT NOT NULL"
                + KEY_BABY_BORN_DATE_DAY + " TEXT NOT NULL);";
        db.execSQL(ctSettings);

    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        db.execSQL("DROP TABLE IF EXISTS " + DATABASE_TABLE);
        db.execSQL("DROP TABLE IF EXISTS " + DATABASE_TABLE_SETTINGS);
        onCreate(db);
    }
}

public DatBas(Context c) {
    tcontext = c;
}

public DatBas open() throws SQLiteException {
    thdb = new TamarDatabase(tcontext);
    tdb = thdb.getWritableDatabase();
    return this;
}

public void close() {
    thdb.close();
}

public long createEntry(String sh, String sm, String sd, String at,
        String tside, String tkind) {
    ContentValues cv = new ContentValues();
    cv.put(KEY_SHOURS, sh);
    cv.put(KEY_SMINUTE, sm);
    cv.put(KEY_SDATE, sd);
    cv.put(KEY_AMOUNT, at);
    cv.put(KEY_SIDE, tside);

    return tdb.insert(DATABASE_TABLE, null, cv);
}

public long createEntrySettings(String bbdy, String bbdm, String bbdd,
        String pt, String bg, String bfName) {
    ContentValues cv2 = new ContentValues();
    cv2.put(KEY_BABY_IMAGE_PATH, pt);
    cv2.put(KEY_BABY_NAME, bfName);
    cv2.put(KEY_BABY_GENDER, bg);
    cv2.put(KEY_BABY_BORN_DATE_YEAR, bbdy);
    cv2.put(KEY_BABY_BORN_DATE_MONTH, bbdm);
    cv2.put(KEY_BABY_BORN_DATE_DAY, bbdd);

    return tdb.insert(DATABASE_TABLE_SETTINGS, null, cv2);
}

public String getData() {
    String[] columns = new String[] { KEY_ROWID, KEY_SHOURS, KEY_SMINUTE,
            KEY_SDATE, KEY_AMOUNT, KEY_SIDE, KEY_KIND };
    Cursor c = tdb.query(DATABASE_TABLE, columns, null, null, null, null,
            null);
    String results = "";

    int iRaw = c.getColumnIndex(KEY_ROWID);
    int iShours = c.getColumnIndex(KEY_SHOURS);
    int iSminute = c.getColumnIndex(KEY_SMINUTE);
    int iDate = c.getColumnIndex(KEY_SDATE);
    int iAmount = c.getColumnIndex(KEY_AMOUNT);
    int iSide = c.getColumnIndex(KEY_SIDE);
    int iKind = c.getColumnIndex(KEY_KIND);

    for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) {
        results = results + "the id is " + c.getString(iRaw)
                + " the sart hour is " + " " + c.getString(iShours)
                + " the start minute is " + " " + c.getString(iSminute)
                + " the start date is " + " " + c.getString(iDate)
                + " the amount is " + " " + c.getString(iAmount)
                + " the side is " + " " + c.getString(iSide)
                + " the kind is " + " " + c.getString(iKind) + "
";
    }
    return results;
}

public String getDataSettings() {
    String[] columns = new String[] { KEY_ROW_BABY_ID, KEY_BABY_IMAGE_PATH,
            KEY_BABY_NAME, KEY_BABY_GENDER, KEY_BABY_BORN_DATE_YEAR,
            KEY_BABY_BORN_DATE_MONTH, KEY_BABY_BORN_DATE_DAY };
    Cursor c = tdb.query(DATABASE_TABLE_SETTINGS, columns, null, null,
            null, null, null);
    String results = "";

    int iRawBabyId = c.getColumnIndex(KEY_ROW_BABY_ID);
    int iBIPath = c.getColumnIndex(KEY_BABY_IMAGE_PATH);
    int iBName = c.getColumnIndex(KEY_BABY_NAME);
    int iGender = c.getColumnIndex(KEY_BABY_GENDER);
    int iBBDateYear = c.getColumnIndex(KEY_BABY_BORN_DATE_YEAR);
    int iBBDateMonth = c.getColumnIndex(KEY_BABY_BORN_DATE_MONTH);
    int iBBDateDay = c.getColumnIndex(KEY_BABY_BORN_DATE_DAY);

    for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) {
        results = results + " the kind is " + " " + c.getString(iRawBabyId)
                + " the kind is " + " " + c.getString(iBIPath)
                + " the kind is " + " " + c.getString(iBName)
                + " the kind is " + " " + c.getString(iGender)
                + " the kind is " + " " + c.getString(iBBDateYear)
                + " the kind is " + " " + c.getString(iBBDateMonth)
                + " the kind is " + " " + c.getString(iBBDateDay) + "
";
    }
    return results;
}

public DatBas delete() {
    tdb.delete(DATABASE_TABLE, null, null);
    tdb.delete(DATABASE_TABLE_SETTINGS, null, null);
    return null;
}
}
最佳回答

forget to add , in query ...

http://www.ohchr.org。

TEXT NOT NULL,baby_age_day

CREATE TABLE settings ( _id INTEGER PRIMARY KEY AUTOINCREMENT, uri_baby TEXT NOT NULL, baby_name TEXT NOT NULL, baby_gender TEXT NOT NULL, baby_age_year TEXT NOT NULL,baby_age_month TEXT NOT NULL,baby_age_day TEXT NOT NULL);
问题回答

(,)

CREATE TABLE settings ( _id INTEGER PRIMARY KEY AUTOINCREMENT, uri_baby TEXT NOT NULL, 
baby_name TEXT NOT NULL, baby_gender TEXT NOT NULL, baby_age_year TEXT NOT 
NULL, baby_age_month TEXT NOT NULL,baby_age_day TEXT NOT NULL);




相关问题
Spring Properties File

Hi have this j2ee web application developed using spring framework. I have a problem with rendering mnessages in nihongo characters from the properties file. I tried converting the file to ascii using ...

Logging a global ID in multiple components

I have a system which contains multiple applications connected together using JMS and Spring Integration. Messages get sent along a chain of applications. [App A] -> [App B] -> [App C] We set a ...

Java Library Size

If I m given two Java Libraries in Jar format, 1 having no bells and whistles, and the other having lots of them that will mostly go unused.... my question is: How will the larger, mostly unused ...

How to get the Array Class for a given Class in Java?

I have a Class variable that holds a certain type and I need to get a variable that holds the corresponding array class. The best I could come up with is this: Class arrayOfFooClass = java.lang....

SQLite , Derby vs file system

I m working on a Java desktop application that reads and writes from/to different files. I think a better solution would be to replace the file system by a SQLite database. How hard is it to migrate ...

热门标签