2013-10-15 3 views
-1

Я создал базу данных с использованием SQLite. Теперь я хочу вставить данные в эту таблицу с помощью приложения Android.Нет такой таблицы SQLException

Я написал весь этот код в SQLiteOpenHelper:

try 
     { 
     SQLiteDatabase db=this.getWritableDatabase(); 
     ContentValues values=new ContentValues(); 
     values.put(key_id, 10); 
     values.put(key_name,"neha"); 

     db.insert(database_table, null, values); 
     db.close(); 
     } 
     catch(Exception e) 
     { 
      System.out.println(e);   
     } 

, а затем запустить приложение. Это исключение таблицы исключает.

Я следил за "data/data/[your_package_name]/databases/", затем "pull a file from device" все эти шаги, но база данных не попадает на эмулятор.

В чем проблема?

+0

нет таблицы, созданной в базе данных. – Riser

+0

Вы можете показать полный код для создания базы данных, таблицы и для вставки. – Ranjit

+0

Проверьте запрос создания БД. Там должен быть глюк. Для справки: http://www.androidhive.info/2011/11/android-sqlite-database-tutorial/ – Dhaval

ответ

2

Я думаю, что вы новичок в android. Хорошо, если вы читаете некоторые обучающие программы и начинаете кодирование. Для текущего приложения

первый: Создать отдельный класс для базы данных (для экс: HandleDatabase.java)

второй: Создать вспомогательный класс (с расширением SQLiteOpenHelper) внутри этого, чтобы написать OnCreate (для создания таблицы) и onUpgrade (воссоздание таблицы в версии).

3rd: Создать структуру для класса HandleDatabase с текущим контекстом.

4td: Напишите все методы CUID в классе HandleDatabase.

EX:

//1st STEP 
public class HandleDatabase { 
private static final String KEY_ID = "_id"; 
private static final String KEY_NAME = "_name"; 
public static final String DATABASE_NAME = "_myrnddb"; 
public static final String YOUR_TABLE = "_table"; 
public static final int DATABASE_VERSION = 1; 

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

     //2nd STEP 
     public class DbHelper extends SQLiteOpenHelper { 

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

     } 

     @Override 
     public void onCreate(SQLiteDatabase db) { 
     String createtableQuery = "CREATE TABLE " + YOUR_TABLE + " (" 
       + KEY_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " 
       + KEY_NAME + " TEXT NOT NULL);"; 

      db.execSQL(createtableQuery); 
     } 

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

     } 
    } 
    //3rd STEP 
    public HandleDatabase(Context c) { 
    ourContext = c; 
    } 

    public HandleDatabase open() throws SQLException { 
    ourHelper = new DbHelper(ourContext); 
    ourDatabase = ourHelper.getWritableDatabase(); 
    return this; 
    } 

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

    //Insertion(4th STEP) 
    public long insertData(String name) 
     throws SQLException { 
    ContentValues cv = new ContentValues(); 
    cv.put(KEY_NAME , name); 
    return ourDatabase.insert(YOUR_TABLE, null, cv); 
    } 

} 

Как это вы можете выбрать, обновлять и удалять данные из базы данных.

Чтобы узнать что-то о базе данных SQLite вы можете следить SQLite Tutorials

+0

, поэтому я отправил некоторые предложения с example.try таким образом. – Ranjit

+0

Да, ур права, я новичок в разработке android, это мое первое приложение для подключения к базе данных. У меня есть еще один запрос, приложение Android отлично создает базу данных, когда мы вызываем метод onCreate(), или мы хотим создать его вручную с помощью sqlite незамедлительный ? –

+2

SQLite встроен в каждое Android-устройство. Вам нужно только определить инструкции SQL для создания и обновления базы данных. После этого база данных автоматически управляется для вас платформой Android. Посмотрите эту ссылку http://www.vogella.com/articles/AndroidSQLite/article.html#SQLite в Android – Ranjit

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