无法在android中的sqlite数据库中插入数据

时间:2013-04-18 05:21:56

标签: android sqlite

我已经编写了contentvalues用于插入,代码编译得很好,但数据没有插入到数据库中。我的问题是,表格正在创建,但数据没有插入,我不知道。

我的代码是这样的: 它有2个类,第一个类有数据库连接信息,第二个类有表创建和数据插入语句。

Class 2:
create table and insert method that has content values and I am returning the value to main class
class 1:
database connection and database open command.

任何人都可以指导,因为我是Android的新手,并试图自己学习。

2 个答案:

答案 0 :(得分:0)

这里有两个类创建数据库连接,另一个类在数据库中插入用户(使用用户类对象)

public class UserDataHelper extends SQLiteOpenHelper {

public UserDataHelper(Context context, String name, CursorFactory factory,
        int version) {
    super(context, name, factory, version);
    // TODO Auto-generated constructor stub
}

@Override
public void onCreate(SQLiteDatabase database) {
    // TODO Auto-generated method stub

    database.execSQL(UserMataData.sql);

}

@Override
public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {
    // TODO Auto-generated method stub

}

}

上面的类创建数据库

public class UserDataSource {

private SQLiteDatabase userDataBase;
private UserDataHelper userDataHelper;


public UserDataSource(Context context) {
    super();
    userDataHelper = new UserDataHelper(context, UserMataData.DataBaseName, null, UserMataData.DataBaseVersion);        
}

public void openDataBase()
{       
    userDataBase = userDataHelper.getReadableDatabase();
}

public void closeDataBase()
{
    userDataHelper.close();
}
public boolean addUser (User user)
{
    ContentValues cv = new ContentValues();
    cv.put(UserMataData.Name, user.getName());
    cv.put(UserMataData.University, user.getUniversity());

    long insert = userDataBase.insert(UserMataData.TableName, null, cv);
    if( insert != -1)
        return true;

    return false;

}

public Cursor getAllUsers()
{
    return userDataBase.query(UserMataData.TableName, null, null, null, null, null, null);
}

}

注意用户对象只是User类的一个对象,您可以简单地将其替换为您要在数据库中添加的任何其他内容并相应地更改ContentValues

答案 1 :(得分:0)

参考这个精湛的教程...这对你很有帮助......链接是here