2013-09-29 3 views
0

Я хочу сделать простую игру на Android (например, Quiz), где на SQLiteDatabase будут сохранены результаты игроков (результаты и имена). Но используя этот код, он дает ошибку.android SQLite DataBase query 1

Пожалуйста, помогите мне понять, что я делаю неправильно. Заранее спасибо :).

public class forth extends Activity { 
DBHelper dbHelper; 
public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.forth); 

    dbHelper = new DBHelper(this); 
TextView tvResult = (TextView) findViewById(R.id.tvResult); 
TextView tvResults = (TextView) findViewById(R.id.tvResults); 
Intent intent = getIntent(); 
String name = intent.getStringExtra("name"); 
    String points = intent.getIntExtra("balance", 0); 

    ContentValues cv = new ContentValues(); 
    SQLiteDatabase db = dbHelper.getWritableDatabase(); 

    cv.put("points", points); 
    cv.put("name", name); 
    db.insert("mytable", null, cv); 
    Cursor c = db.query("mytable", null, null, null, null, null, null); 
    int PointsColIndex = c.getColumnIndex("points"); 
    int nameColIndex = c.getColumnIndex("name"); 

    tvResults.setText(c.getString(nameColIndex) + " " +c.getInt(PointsColIndex)); 
} 

    class DBHelper extends SQLiteOpenHelper { 

     public DBHelper(Context context) { 
      super(context, "myDB", null, 1); 
     } 


     public void onCreate(SQLiteDatabase db) { 


      db.execSQL("create table mytable (" 
       + "balance integer primary key autoincrement," 
       + "name text," 
       + "surname text" + ");"); 
     } 

     public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 

     } 
     } 
    } 
+0

Зная об ошибке будет полезно, что способ, которым люди больше зависят, чтобы помочь вам, особенно если ошибка то, что люди знакомы. Если у него есть номер строки, обозначьте, какая строка соответствует этому номеру строки. – BLaZuRE

ответ

0

Tren, проблема в том, что мы не можем видеть, где ошибка ... вы можете загрузить LogCat? но попытаться получить информацию от намерения так:

Intent intent = new Intent(); 
    intent = getIntent(); 
    Bundle bundle = intent.getExtras(); 
     language = bundle.getString("Language"); 

также в запросе попытаться использовать db.query(dbHelper.YOUR_TABLE_NAME, null, null, null, null, null, null);

заливку в на обновления ... позвольте мне отправить вам ссылку на большой SQLITE учебник ... следовать за ним ... его стоит

http://www.vogella.com/articles/AndroidSQLite/article.html

попробовать его, а также:

http://www.androidhive.info/2011/11/android-sqlite-database-tutorial/

Я думаю, что вы найдете ответы и лучший способ построить свой SQL таблицу

+0

большое спасибо –

+0

Не беспокойтесь ... Пока я помог :) –

+0

Но проблема не в намерении, проблема с SQLite. Проблема заключается в чтении или добавлении данных. Хотя я думаю, что он больше связан с чтением. –

0

Почему вы не используете Bundle object для извлечения данных, поступающих вместе с intent. Я думаю, вы должны это сделать.

+0

Прошу прощения, я всего лишь новичок. Не могли бы вы привести мне пример в моем коде, конечно, если это не сложно, спасибо. :) –

+0

Цель намерения = getIntent(); Bundle bun = intent.getExtras(); String str = bun.getString ("name"); Попробуйте запустить это. –

+0

спасибо :) очень –