2013-09-28 2 views
0

В моем проекте уже две базы данных и вы хотите создать новую базу данных для какой-либо задачи , но база данных не создана. Я думаю, что я делаю что-то неправильно в своем коде, пожалуйста, помогите мне решить эту проблему , Спасибо.База данных не создана в sqlite

public class LikeShareDbHelper extends SQLiteOpenHelper{ 
    static final int version = 10; 
    static final String dbName = "LikeShareDB"; 
    static final String LikeAndShare = "LikeAndShareTable"; 
    static final String coluId = "id"; 
    static final String coluTask = "Task_id"; 
    static final String coluLike = "TLike"; 
    static final String coluComment = "TComment"; 
    static final String coluTSahre = "Tshare"; 
    static final String coluMySelf = "mtself"; 

    private static final String DATABASE_CREATE = "CREATE TABLE " 
      + LikeAndShare + " (" + coluId 
      + " INTEGER PRIMARY KEY AUTOINCREMENT, " + coluTask + " TEXT, " 
      + coluLike + " TEXT, " + coluComment + " TEXT, " + coluTSahre 
      + " Text, " + coluMySelf + " TEXT);"; 

    SQLiteDatabase db; 
    private LikeShareDbHelper dbHelper; 

    public LikeShareDbHelper(Context context) { 
     super(context, dbName, null, version); 
     // TODO Auto-generated constructor stub 
    } 

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

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

    } 


    public LikeShareDbHelper open() throws SQLException { 
     db = dbHelper.getWritableDatabase(); 
     // dbHelper.open(); 
     return this; 
    } 

    // ---closes the database--- 
    public void close() { 
     dbHelper.close(); 
    } 


} 
+0

@ deep-u предоставил permisson в файле android mainfest.xml для внешнего хранилища. – FarhaSameer786

+0

да, я дал разрешение в menifest.xml – Deepak

+0

@ глубоко-я добавил свой код, у меня есть успешно созданная база данных u, созданная именно так ... – FarhaSameer786

ответ

1

Попробуйте, как это ..more полезно для и

пакет com.databases;

import java.util.ArrayList; 

import android.content.ContentValues; 
import android.content.Context; 
import android.database.Cursor; 
import android.database.sqlite.SQLiteDatabase; 
import android.database.sqlite.SQLiteOpenHelper; 
import android.widget.Toast; 

public class DataBaseHelper extends SQLiteOpenHelper { 

    Context mContext; 

    private static final String DATABASE_NAME = "Personal_Assistant_Chronical.db"; 
    private static final int DATABASE_VERSION = 1; 
    private static final String TABLE_DETAIL = "newContact"; 

    private static final String COLUMN_PERSON_ID= "personID"; 
    private static final String COLUMN_PERSON_NAME= "person_name"; 
    private static final String COLUMN_MOBILE_NUMBER = "mobile_no"; 
    private static final String COLUMN_LANDLINE_NUMBER = "lanline_no"; 
    private static final String COLUMN_FAX_NUMBER = "fax_no"; 
    private static final String COLUMN_EMAIL_ID = "email_id"; 
    private static final String COLUMN_PERSONAL_ADDRESS = "personal_address"; 
    private static final String COLUMN_WORK_ADDRESS = "work_address"; 

    private static final String CREATE_DETAIL_TABLE = "create table if not exists " 
      + TABLE_DETAIL 
      + "(" 
      + COLUMN_PERSON_ID 
      +" INTEGER primary key autoincrement, " 
      + COLUMN_PERSON_NAME 
      + " VARCHAR(100) NOT NULL UNIQUE, " 
      + COLUMN_MOBILE_NUMBER 
      + " VARCHAR(100) NOT NULL , " 
      + COLUMN_LANDLINE_NUMBER 
      + " VARCHAR(100) NOT NULL, " 
      + COLUMN_FAX_NUMBER 
      + " VARCHAR(100) NOT NULL, " 
      + COLUMN_EMAIL_ID 
      + " VARCHAR(100) NOT NULL, " 
      + COLUMN_PERSONAL_ADDRESS 
      + " VARCHAR(100) NOT NULL, " 
      + COLUMN_WORK_ADDRESS 
      + " VARCHAR(100) NOT NULL); " 
      ; 
    private static final String TABLE_PERSONAL = "newPersonal"; 

    private static final String COLUMN_DATE_ID= "dateID"; 
    private static final String COLUMN_DATE= "fate"; 
    private static final String COLUMN_DIARY= "diary"; 

    private static final String CREATE_PERSONAL_TABLE = "create table if not exists " 
      + TABLE_PERSONAL 
      + "(" 
      + COLUMN_DATE_ID 
      +" INTEGER primary key autoincrement , " 
      + COLUMN_DATE 
      +" VARCHAR(100) NOT NULL UNIQUE, " 
      + COLUMN_DIARY 
      + " VARCHAR(100) NOT NULL); " 

      ; 


    public DataBaseHelper(Context context) { 
     super(context, DATABASE_NAME, null, DATABASE_VERSION); 
     this.mContext=context; 
    } 

    @Override 
    public void onCreate(SQLiteDatabase db) { 
     db.execSQL(CREATE_DETAIL_TABLE); 
     db.execSQL(CREATE_PERSONAL_TABLE); 

    } 

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

     if (db != null) 
      onCreate(db); 
    } 


     } 
0

Пожалуйста, уточните более подробную информацию о вашей проблеме. Вы сказали: «Я думаю», чтобы сообщить нам, что база данных не создана. Что вы проверяли, чтобы быть уверенным в этом на 100%?

Кроме того, не используйте «id», но «_id». Он уже определен для вас BaseColumns._ID.

+0

да, я на 100% уверен, что база данных не создана. – Deepak

+0

Хорошо, просто интересно, что вы сделали, чтобы проверить базу данных, нет. Вы пытались написать что-то, получив ошибку? Вы пытались изменить id на _id? – fasteque

+0

Я пишу _id вместо id, и я проверяю имя пакета ddms-> data->. там есть две старые базы данных, но новая, которую я создаю, не существует. – Deepak

0
private static final String DATABASE_CREATE = "CREATE TABLE " 
      + LikeAndShare + " (" + coluId 
      + " INTEGER PRIMARY KEY AUTOINCREMENT, " + coluTask + " TEXT, " 
      + coluLike + " TEXT, " + coluComment + " TEXT, " + coluTSahre 
      + " Text, " + coluMySelf + " TEXT)"; 

Заменить этот код с кодом. Надеюсь, его работа.

+0

Или вы можете воспользоваться помощью по этой ссылке. http://www.androidhive.info/2011/11/android-sqlite-database-tutorial/ –

0

Метод базы данных onCreate вызывается, когда база данных открывается через getWritableDatabase .... попробуйте сделать это.

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