sqlite android 记录总数,java – android studio从Sqlite数据库中检索数...

这是我如何实现这一目标的一个例子.

在这个例子中,我将存储,检索,更新和删除学生姓名和年龄.

首先创建一个类,我打电话给我

DBManager.java

public class DBManager {

private Context context;

private SQLiteDatabase database;

private SQLiteHelper dbHelper;

public DBManager(Context c) {

this.context = c;

}

public DBManager open() throws SQLException {

this.dbHelper = new SQLiteHelper(this.context);

this.database = this.dbHelper.getWritableDatabase();

return this;

}

public void close() {

this.dbHelper.close();

}

public void insert(String name, String desc) {

ContentValues contentValue = new ContentValues();

contentValue.put(SQLiteHelper.NAME, name);

contentValue.put(SQLiteHelper.AGE, desc);

this.database.insert(SQLiteHelper.TABLE_NAME_STUDENT, null, contentValue);

}

public Cursor fetch() {

Cursor cursor = this.database.query(SQLiteHelper.TABLE_NAME_STUDENT, new String[]{SQLiteHelper._ID, SQLiteHelper.NAME, SQLiteHelper.AGE}, null, null, null, null, null);

if (cursor != null) {

cursor.moveToFirst();

}

return cursor;

}

public int update(long _id, String name, String desc) {

ContentValues contentValues = new ContentValues();

contentValues.put(SQLiteHelper.NAME, name);

contentValues.put(SQLiteHelper.AGE, desc);

return this.database.update(SQLiteHelper.TABLE_NAME_STUDENT, contentValues, "_id = " + _id, null);

}

public void delete(long _id) {

this.database.delete(SQLiteHelper.TABLE_NAME_STUDENT, "_id=" + _id, null);

}

}

然后创建一个名为我的SQLiteOpenHelper

SQLiteHelper.java

public class SQLiteHelper extends SQLiteOpenHelper {

public static final String AGE = "age";

private static final String CREATE_TABLE_STUDENT = " create table STUDENTS ( _id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL , age TEXT );";

private static final String DB_NAME = "STUDENTS.DB";

private static final int DB_VERSION = 1;

public static final String NAME = "name";

public static final String TABLE_NAME_STUDENT = "STUDENTS";

public static final String _ID = "_id";

public SQLiteHelper(Context context) {

super(context, DB_NAME, null, 1);

}

public void onCreate(SQLiteDatabase db) {

db.execSQL(CREATE_TABLE_STUDENT);

}

public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

db.execSQL("DROP TABLE IF EXISTS STUDENTS");

onCreate(db);

}

}

加上:

在这个例子中,我从EditText中获取文本,当单击该按钮时,我检查EditText是否为空.如果它不是空的并且学生尚不存在,我将学生姓名和年龄插入数据库.我显示Toast,让用户知道状态:

btnAdd.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

if (edtName.getText().toString().trim().length() == 0) {

Toast.makeText(getApplicationContext(), "Please provide your students name", Toast.LENGTH_SHORT).show();

} else{

try {

if (edtAge.getText().toString().trim().length() != 0) {

String name = edtName.getText().toString().trim();

String age = edtAge.getText().toString().trim();

String query = "Select * From STUDENTS where name = '"+name+"'";

if(dbManager.fetch().getCount()>0){

Toast.makeText(getApplicationContext(), "Already Exist!", Toast.LENGTH_SHORT).show();

}else{

dbManager.insert(name, age);

Toast.makeText(getApplicationContext(), "Added successfully!", Toast.LENGTH_SHORT).show();

}

} else {

Toast.makeText(getApplicationContext(), "please provide student age!", Toast.LENGTH_SHORT).show();

}

} catch (Exception e) {

e.printStackTrace();

}

}

}

});

更新:

在这里,我在EditText中使用Text,并在单击按钮时更新学生.您还可以将以下内容放在try / catch中以确保它已成功更新.

btnupdate.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

String name = nameText.getText().toString();

String age = ageText.getText().toString();

dbManager.update(_id, name, age);

Toast.makeText(getApplicationContext(), "Updated successfully!", Toast.LENGTH_SHORT).show();

}

});

删除:

dbManager.delete(_id);

Toast.makeText(getApplicationContext(), "Deleted successfully!", Toast.LENGTH_SHORT).show();

要得到:

在这里,我得到学生的名字并将其显示在TextView中

DBManager dbManager = new DBManager(getActivity());

dbManager.open();

Cursor cursor = dbManager.fetch();

cursor.moveToFirst();

final TextView studentName = (TextView) getActivity().findViewById(R.id.nameOfStudent);

studentName.settext(cursor.getString(0));

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要从SQLite数据库检索据并将其显示为TextView,可以按照以下步骤操作: 1. 在布局文件添加一个TextView,用于显示从数据库检索据。 2. 在Java代码,创建一个SQLiteOpenHelper类的实例,并使用它打开数据库。 3. 从数据库检索据,可以使用SQLiteDatabase类的query方法,该方法返回一个Cursor对象。 4. 使用Cursor对象从结果集检索据,然后将其设置为TextView的文本。 下面是一个简单的示例代码,可以作为参考: ```java // 布局文件的TextView TextView textView = findViewById(R.id.textview); // 创建一个SQLiteOpenHelper类的实例 SQLiteOpenHelper dbHelper = new SQLiteOpenHelper(this, "my_db", null, 1) { @Override public void onCreate(SQLiteDatabase db) { // 如果数据库不存在,则创建一个新表 db.execSQL("CREATE TABLE my_table (id INTEGER PRIMARY KEY, name TEXT)"); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // 当数据库升级时执行的操作 } }; // 获取可读的数据库对象 SQLiteDatabase db = dbHelper.getReadableDatabase(); // 查询数据库据 Cursor cursor = db.query("my_table", null, null, null, null, null, null); // 将查询结果设置为TextView的文本 if (cursor.moveToFirst()) { String name = cursor.getString(cursor.getColumnIndex("name")); textView.setText(name); } // 关闭Cursor和数据库对象 cursor.close(); db.close(); ``` 注意,这只是一个简单的示例代码,实际的应用可能需要根据具体的需求进行更改。另外,为了避免在UI线程执行数据库操作导致界面卡顿,建议使用异步线程来执行数据库操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值