2012-03-23 4 views
0

データベースを使用します。 エラーは次のとおりです。03-23 01:34:35.861:E/AndroidRuntime(613):原因:android.database.sqlite.SQLiteException: "in"の近く:構文エラー:、コンパイル中に:create table payouts (_id整数プライマリキーオートインクリメント、日付テキストがヌルでない、カジノテキストがヌルでない、ゲームテキストがヌルでない、テキストがヌルでない、テキストがヌルでない、ゲインテキストがヌルでない)03-23 01:34:35.861:E/AndroidRuntime(613):原因:android.database.sqlite.SQLiteException:コンパイル時にエラーが発生しました:

私はそれを超えてしまいました。なぜそれが機能しないのかわかりません。

ご協力いただければ幸いです。


package kris.databasetester;  
import android.content.ContentValues; 
import android.content.Context; 
import android.database.Cursor; 
import android.database.SQLException; 
import android.database.sqlite.SQLiteDatabase; 
import android.database.sqlite.SQLiteOpenHelper; 
import android.util.Log; 

public class DBAdapter 
{ 
public static final String KEY_ROWID = "_id"; 
public static final String KEY_DATE = "date"; 
public static final String KEY_CASINO = "casino"; 
public static final String KEY_GAME = "game"; 
public static final String KEY_IN = "in"; 
public static final String KEY_OUT = "out"; 
public static final String KEY_GAIN = "gain"; 

private static final String TAG = "DBAdapter"; 
private static final String DATABASE_NAME = "casinodb"; 
private static final String DATABASE_TABLE = "payouts"; 
private static final int DATABASE_VERSION = 1; 
private static final String DATABASE_CREATE = "create table payouts(_id integer primary key autoincrement, " + "date text not null, casino text not null, " + "game text not null, in text not null, out text not null, gain text not null);"; 
// private static final String date = null; 

private final Context context; 
private DatabaseHelper DBHelper; 
private SQLiteDatabase db; 

public DBAdapter(Context ctx) 
{ 
    this.context = ctx; 
    DBHelper = new DatabaseHelper(context); 
} //DBAdapter Closer 
private static class DatabaseHelper extends SQLiteOpenHelper 
{ 
    DatabaseHelper(Context context) 
    { 
     super(context, DATABASE_NAME, null, DATABASE_VERSION); 
    } 
    @Override 
    public void onCreate(SQLiteDatabase db) 
    { 
     db.execSQL(DATABASE_CREATE); 
    } //onCreate Closer 
    @Override 
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) 
    { 
     Log.w(TAG, "Upgrading database from version " + oldVersion + " to " + newVersion + ", which will destory all old data"); 
     db.execSQL("DROP TABLE IF EXISTS payouts"); 
     onCreate(db); 
    } //onUpgrade Closer 
} //DatabaseHelper Closer 

//Opens the Database 
public DBAdapter open() throws SQLException 
{ 
    db = DBHelper.getWritableDatabase(); 
    return this; 
}//DBAdapter Open Closer 

//Closes the Database 
public void close() 
{ 
    DBHelper.close();  
} //DBAdapter Close Closer 

//Insert a GamePlay into Database 
public long insertTitle(String date, String casino, String game, String in, String out, String gain) 
{ 
    ContentValues initialValues = new ContentValues(); 
    initialValues.put(KEY_DATE, date); 
    initialValues.put(KEY_CASINO, casino); 
    initialValues.put(KEY_GAME, game); 
    initialValues.put(KEY_IN, in); 
    initialValues.put(KEY_OUT, out); 
    initialValues.put(KEY_GAIN, gain); 
    return db.insert(DATABASE_NAME, null, initialValues); 
} //Insert Title Closer 

// Deletes a particular title 
public boolean deleteTitle(long rowId) 
{ 
    return db.delete(DATABASE_TABLE, KEY_ROWID + "=" + rowId, null) > 0; 
} //Delete Title Closer 

//Retrieves all titles 
public Cursor getAllTitles() 
{ 
    return db.query(DATABASE_TABLE, new String[] 
      { 
      KEY_ROWID, KEY_DATE, KEY_CASINO, KEY_GAME, KEY_IN, KEY_OUT, KEY_GAIN 
      },null, null, null, null, null);   
} //Gets all titles closer 

//Retrieves a particular Title 
public Cursor getTitle(long rowId) throws SQLException 
{ 
    Cursor mCursor = db.query(true, DATABASE_TABLE, new String[] 
      {KEY_ROWID, KEY_DATE, KEY_CASINO, KEY_GAME, KEY_IN, KEY_OUT, KEY_GAIN}, 
      KEY_ROWID + "=" + rowId, null, null, null, null, null); 
    if (mCursor != null) 
    { 
     mCursor.moveToFirst(); 
    } 
    return mCursor; 
} //getTitle Closer 

//Updates a title 
// public boolean updateTitle(long rowId, String KEY_DATE, String KEY_CASINO, String KEY_GAME, String KEY_IN, String KEY_OUT, String KEY_GAIN) 
// { 
//  ContentValues args = new ContentValues(); 
//  args.put(KEY_DATE, date); 
//  args.put(KEY_CASINO, casino); 
//  args.put(KEY_GAME, game); 
//  args.put(KEY_IN, in); 
//  args.put(KEY_OUT, out); 
//  args.put(KEY_GAIN, gain); 
//  return db.update(DATABASE_TABLE, args, KEY_ROWID + "=" + rowId, null) > 0; 
// } //Update Title Closer 

} //Class Closer 

----------------------------- 
package kris.databasetester; 

import android.app.Activity; 
import android.os.Bundle; 

public class DatabaseTesterActivity extends Activity { 
/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    @SuppressWarnings("unused") 
    DBAdapter db = new DBAdapter(this); 

    //---add 2 titles--- 
    db.open(); 
//  long id; 
//  id = db.insertTitle("09/08/2012","The Sands","BlackJack", "400", "500", "100"); 
//  db.close(); 
    } 
} 
------------------------------- 

答えて

1

inが、それはSQL言語で他の用途のために確保ているためである列、許容名前ではないことを知らせるています。

+0

お礼ありがとうalote :) –

+0

あなたは歓迎されてうれしいです!ところで、 – dldnh

+0

この回答が受け入れられる場合は、左側のチェックマークをクリックしてください – dldnh

関連する問題