-1

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

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

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 新手并试图自学。

4

2 回答 2

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);
}

}

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

于 2013-04-18T05:32:10.850 回答
0

参考这个精湛的教程......它对你有很大的帮助......链接在这里

于 2013-04-18T05:39:23.027 回答