我在我的应用中使用SQLite数据库。我有一个将数据写入数据库的函数。代码如下
c.put("Name",name.getText().toString());
c.put("Mail", mail.getText().toString());
c.put("Contact", contact.getText().toString());
mail.setText("");
contact.setText("");
Boolean check=mydb.insertContact(c);
这是insertContact函数
public boolean insertContact(ContentValues contentValues)
{
SQLiteDatabase db = this.getWritableDatabase();
db.insert("sports", null, contentValues);
return true;
}
我的问题是,有没有办法检查我的数据是否已插入数据库?此函数始终返回true,因此我不知道我的数据是否已成功插入。
现在我有一个从数据库中检索所有数据的函数。代码如下
allusers.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
String textarr[] =new String[10];
textarr= mydb.getyourdata();
int i = 0;
while (i <= textarr.length) {
String text=textarr[i];
Toast.makeText(getApplicationContext(), text, Toast.LENGTH_SHORT).show();
}}});
mydb是SQL处理程序。这是getyourdata()函数
public String[] getyourdata(){
String selectQuery = "SELECT * FROM " + CONTACTS_TABLE_NAME;
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);
String[] data = null;
int i=0;
if (cursor.moveToFirst()) {
do {
data[i]=cursor.getString(cursor.getColumnIndex(CONTACTS_COLUMN_NAME));
i++;
} while (cursor.moveToNext());
}
db.close();
return data;
}
编译器在此行中显示空指针异常
while (i <= textarr.length)
我不知道如何解决这个问题。请帮我。 这是我的数据库表结构 (名称varchar(50),邮件varchar(50),联系人varchar(15),位置varchar(30))
提前致谢。
答案 0 :(得分:0)
-1
。 .insert(...)
返回新插入记录的行ID。
获取更多帮助,请尝试SQLite.insert return -1 but data inserted into database