2014-02-06 5 views
1

Я разработал приложение для Android-приложений.
Проблема заключается в том, что при нажатии кнопки «Добавить» сообщение показывает, что данные были успешно добавлены.
Но данные не вставляются в базу данных.
я затем открыть базу данных с помощью просмотрщика SQLite и там я не могу найти какие-либо данные, я вставленной ...Данные не вставлены в базу данных SQLite на Android?

Регистрация кодовая страница:

package com.example.dbapp; 

import android.app.Activity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 
import android.widget.TextView; 
import android.widget.Toast; 

public class Register extends Activity { 

Button add; 
TextView b,c; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.register); 
    add = (Button) findViewById(R.id.btnReg); 
    b = (TextView) findViewById(R.id.etName); 
    c = (TextView) findViewById(R.id.etOccu); 
    add.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      try { 
       String name = b.getText().toString(); 
       String occ = c.getText().toString(); 
       DataCon entry = new DataCon(Register.this); 
       entry.open(); 
       entry.createEntry(name, occ); 
       entry.close(); 
       Toast toast = Toast.makeText(getApplicationContext(), "Sucess", Toast.LENGTH_SHORT); 
       toast.show(); 
      } 
      catch(Exception e) { 
       String err = e.toString(); 
       Toast toast = Toast.makeText(getApplicationContext(), err,   Toast.LENGTH_SHORT); 
       toast.show(); 
      } 
     } 
    }); 
} 

код подключения к базе данных:

package com.example.dbapp; 

import android.content.ContentValues; 
import android.content.Context; 
import android.database.sqlite.SQLiteDatabase; 
import android.database.sqlite.SQLiteDatabase.CursorFactory; 
import android.database.sqlite.SQLiteOpenHelper; 

public class DataCon { 
public static final String rowid = "_id"; 
public static final String name = "persons_name"; 
public static final String hot = "persons_hotness"; 

private static final String DB_NAME = "myDB"; 
private static final String DB_TABLE = "tbl_me"; 
private static final int DB_VER  = 1; 

private DbHelper ourHelper; 
private final Context ourContext; 
private SQLiteDatabase ourDatabase; 

private static class DbHelper extends SQLiteOpenHelper { 

    public DbHelper(Context context) { 
     super(context, DB_NAME, null, DB_VER); 
     // TODO Auto-generated constructor stub 
    } 

    @Override 
    public void onCreate(SQLiteDatabase db) { 
     // TODO Auto-generated method stub 
     db.execSQL("CREATE TABLE " + DB_TABLE + " (" + rowid + 
       " INTEGER PRIMARY KEY AUTOINCREMENT, " + name + "TEXT    NOT NULL, " + 
       hot + " TEXT NOT NULL);"); 
    } 

    @Override 
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
     // TODO Auto-generated method stub 
     db.execSQL("DROP TABLE IF EXISTS " +DB_TABLE); 
     onCreate(db); 
    } 

} 

public DataCon(Context c) { 
    ourContext = c; 
} 

public DataCon open() { 
    ourHelper = new DbHelper(ourContext); 
    ourDatabase = ourHelper.getWritableDatabase(); 
    return this; 
} 
public void close() { 
    ourHelper.close(); 
} 

public long createEntry(String name2, String occ) { 
    // TODO Auto-generated method stub 
    ContentValues cv = new ContentValues(); 
    cv.put(name, name2); 
    cv.put(hot, occ); 
    return ourDatabase.insert(DB_TABLE, null, cv); 
} 
} 

Теперь, как я могу решить проблему? спасибо

+0

Есть ошибки в LogCat? Попробуйте прочитать те же данные из своего приложения. – Sanjeev

+0

Сообщите свое логарифм Если есть ошибки? – Lokesh

+0

Нет ошибки LogCat. Я также пытаюсь прочитать данные из моего приложения, но не удалось ... :( – user3279100

ответ

1

Ошибка в вашем sql. Вы не указали пробел между именем и типом столбца. Правильным должен быть

db.execSQL("CREATE TABLE " + DB_TABLE + " (" + rowid + 
" INTEGER PRIMARY KEY AUTOINCREMENT, " + name + " TEXT NOT NULL, " + 
         ---------------------------^
hot + " TEXT NOT NULL);");` 
+0

Не работает ... :( – user3279100

+0

Получены ли вы какие-либо ошибки? Вы видели созданную таблицу? Удалите свой db и попробуйте –

+0

Нет ошибок. я видел созданную таблицу, используя sqlite viewer ... но нет данных – user3279100

Смежные вопросы