【发布时间】:2015-09-19 14:07:31
【问题描述】:
我在我的应用程序中使用 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))
提前致谢。
【问题讨论】: