-1

我已经使用 SQLite 创建了一个数据库。现在我想使用 Android 应用程序将数据插入到该表中。

我已经在 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"所有这些步骤,但是数据库没有进入模拟器。

问题是什么?

4

1 回答 1

2

我认为您是android的新手。如果您阅读一些开发人员教程并开始编码,那就太好了。对于当前应用

第一:为数据库创建一个单独的类(例如:HandleDatabase.java)

2nd:在其中创建一个辅助类(扩展SQLiteOpenHelper)来编写onCreate(用于创建表)和onUpgrade(在版本更改中重新创建表)方法。

第三:使用当前上下文为 HandleDatabase 类创建结构。

4td:在 HandleDatabase 类中编写所有 CUID 方法。

前任:

//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 教程

于 2013-10-15T12:38:07.570 回答