2012-03-19 12 views
0

私は私のコードを実行し、 ComponentInfo活動を開始することができません:android.database.sqlite.SQLiteException:近い「/」:構文エラー...アンドロイドSQLiteの例外に近い「/」

それがなぜ機能しません。 ? 事前にありがとうすべて.. ここでは私のヘルパークラスが

public class Helper extends SQLiteOpenHelper{ 

public static final String MYDATABASE_TABLE = "Restaurant"; 
public static final String KEY_ID = "_id"; 
public static final String KEY_CONTENT1 = "Restaurant name"; 
public static final String KEY_CONTENT2 = "Ac/non ac"; 
public static final String KEY_CONTENT3 = "Total chairs"; 
public static final String KEY_CONTENT4 = "Reserved chairs"; 
public static final String KEY_CONTENT5 = "Date"; 
public static final String KEY_CONTENT6 = "fromTime"; 
public static final String KEY_CONTENT7 = "toTime"; 
public static final String KEY_CONTENT8 = "Name"; 
public static final String KEY_CONTENT9 = "Contact Number"; 
public static final String KEY_CONTENT10 = "Table id"; 


private static final String SCRIPT_CREATE_DATABASE = 
     "create table " + MYDATABASE_TABLE + " (" 
     + KEY_ID + " integer primary key autoincrement, " 
     + KEY_CONTENT1 + " text not null, " 
     + KEY_CONTENT2 + " text not null, " 
     + KEY_CONTENT3 + " integer not null, " 
     + KEY_CONTENT4 + " integer not null, " 
     + KEY_CONTENT5 + " text not null, " 
     + KEY_CONTENT6 + " text not null, " 
     + KEY_CONTENT7 + " text not null, " 
     + KEY_CONTENT8 + " text not null, " 
     + KEY_CONTENT9 + " text not null, " 
     + KEY_CONTENT10 + " text not null) "; 


public Helper(Context context, String name, CursorFactory factory, 
     int version) { 
    super(context, name, factory, version); 
    // TODO Auto-generated constructor stub 
} 

@Override 
public void onCreate(SQLiteDatabase db) { 
    // TODO Auto-generated method stub 
    db.execSQL(SCRIPT_CREATE_DATABASE); 

} 

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

} 
+0

これをチェックするKEY_CONTENT2 = "Ac/non ac" ' – idiottiger

+0

私は実際にはわかりませんが、カラム名に"/"のような"スペース "と"特殊文字 "を使用することは許されません... – drulabs

+0

この投稿http://stackoverflow.com/questions/3373234/what-sqlite-column-name-can-be-cannot-be – ccheneson

答えて

1

SQLiteのテーブル名とカラム名は、/を含めることができず、カラムAc/non acを呼び出そうとしています。

SQLiteのテーブル名とカラム名の特殊文字のサポートは全体的に少しスケッチですので、カラム名のスペースを_に置き換えることもお勧めします。代わりに引用符で囲むこともできますが、SQLiteのバージョンによっては動作しない場合もあります。

+0

あなたのフィードバックのために大変ありがとうございます。 –

0

であるが、それには「/」を持っていない何かにKEY_CONTENT2の名前を変更してください。私は/ 'は名前に受け入れられないと思う。また、すべてのスペースを名前から削除します。

0

または、そのユニコードに置き換えてください。 U + 002F

+0

それはうまく動作します...ありがとう、非常に... –

関連する問題