代码如下: MyDBpenHelper.java
package com.example.studentinfotest;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class MyDBpenHelper extends SQLiteOpenHelper{
private static final String DBNAME = "student.db";
private static final int VERSION = 1;
public MyDBpenHelper(Context context) {
super(context, DBNAME, null, VERSION);
}
//创建数据库
@Override
public void onCreate(SQLiteDatabase db) {
//创建数据表
db.execSQL("create table stu_info(id INTEGER primary key autoincrement,sno varchar(10),name varchar(10),sex varchar(4),professional varchar(10),department varchar(20))");
}
//升级数据库
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="信息添加页面"
android:textSize="30sp"
android:textStyle="bold"
android:textColor="#000000"
android:layout_gravity="center"
android:layout_margin="80dp"/>
<EditText
android:id="@+id/editText_onesno"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="学号"
android:textSize="25sp"
android:textColor="#000000"/>
<EditText
android:id="@+id/editText_onesname"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="姓名"
android:textSize="25sp"
android:textColor="#000000"/>
<EditText
android:id="@+id/editText_onesex"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="性别"
android:textSize="25sp"
android:textColor="#000000"/>
<EditText
android:id="@+id/editText_onepro"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="专业班级"
android:textSize="25sp"
android:textColor="#000000"/>
<EditText
android:id="@+id/editText_onedep"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="所属院部"
android:textSize="25sp"
android:textColor="#000000"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/button_oneadd"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="添加"
android:textSize="25sp"
android:textColor="#000000"
android:layout_weight="1"/>
<Button
android:id="@+id/oneclear"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="清除"
android:textSize="25sp"
android:textColor="#000000"
android:layout_weight="1"/>
</LinearLayout>
<Button
android:id="@+id/onenext"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="下一页"
android:textSize="25sp"
android:textColor="#000000"
android:layout_gravity="right"
android:layout_marginTop="30dp"/>
</LinearLayout>
MainActivity.class
package com.example.studentinfotest;
import android.content.ContentValues;
import android.content.Intent;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
private EditText edit_sno,edit_onename,edit_onesex,edit_onepro,edit_onedep;
private Button btn_oneadd,btn_oneclear,btn_onenext;
private MyDBpenHelper mhelper;
private SQLiteDatabase db;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
btnAdd();
btnClear();
}
private void initView() {
edit_sno = findViewById(R.id.editText_onesno);
edit_onename = findViewById(R.id.editText_onesname);
edit_onesex = findViewById(R.id.editText_onesex);
edit_onepro = findViewById(R.id.editText_onepro);
edit_onedep = findViewById(R.id.editText_onedep);
btn_oneadd = findViewById(R.id.button_oneadd);
btn_oneclear = findViewById(R.id.oneclear);
btn_onenext = findViewById(R.id.onenext);
mhelper=new MyDBpenHelper(MainActivity.this);
db=mhelper.getWritableDatabase();
}
private void btnAdd(){
btn_oneadd.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ContentValues values = new ContentValues();
values.put("sno",edit_sno.getText().toString());
values.put("name",edit_onename.getText().toString());
values.put("sex",edit_onesex.getText().toString());
values.put("professional",edit_onepro.getText().toString());
values.put("department",edit_onedep.getText().toString());
db.insert("stu_info",null,values);
Toast.makeText(MainActivity.this,"添加成功",Toast.LENGTH_SHORT).show();
}
});
}
private void btnClear(){
btn_oneclear.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
edit_sno.setText("");
edit_onename.setText("");
edit_onesex.setText("");
edit_onepro.setText("");
edit_onedep.setText("");
}
});
btn_onenext.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent=new Intent(MainActivity.this,SecondActivity.class);
startActivity(intent);
finish();
}
});
}
}
activity_second.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".SecondActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="信息查询页面"
android:textSize="30sp"
android:textStyle="bold"
android:textColor="#000000"
android:layout_gravity="center"
android:layout_margin="80dp"/>
<EditText
android:id="@+id/editText_twosno"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请输入要查询的学号"
android:textColor="#000000"
android:textSize="25sp" />
<Button
android:id="@+id/button_twoquery"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="查询"
android:textSize="25sp"/>
<TextView
android:id="@+id/textView_tworesult"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="显示查询结果"
android:textSize="25sp"
android:textColor="#000000" />
<Button
android:id="@+id/button_twonext"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="下一页"
android:textSize="25sp"
android:layout_gravity="right"
android:layout_marginTop="30dp" />
</LinearLayout>
SecondActivity.java
package com.example.studentinfotest;
import android.annotation.SuppressLint;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
public class SecondActivity extends AppCompatActivity {
private EditText edit_twosno;
private Button btn_twoquery, btn_twonext;
private TextView txt_tworesult;
private MyDBpenHelper mhelper;//定义一个数据库帮助类对象
private SQLiteDatabase db;//定义一个操作的数据库的类对象
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
//1.控件初始化
initView();
//2."查询"按钮功能的实现
btnQuety();
//3."下一页"按钮功能的实现
btnNext();
}
//1.控件初始化
private void initView() {
edit_twosno = findViewById(R.id.editText_twosno);
btn_twoquery = findViewById(R.id.button_twoquery);
txt_tworesult = findViewById(R.id.textView_tworesult);
btn_twonext = findViewById(R.id.button_twonext);
mhelper = new MyDBpenHelper(SecondActivity.this);//实例化数据库帮助类对象
db = mhelper.getWritableDatabase();//获取数据库的读写权限
}
//2."查询"按钮功能的实现
private void btnQuety() {
btn_twoquery.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//开始查询
Cursor cursor = db.query("stu_info", new String[]{"sno", "name", "sex", "professional", "department"}, "sno=?",
new String[]{edit_twosno.getText().toString()}, null, null, null);
if(cursor.getCount()!=0){//判断结果集中是否有数据,有:查询成功;无:查询失败
Toast.makeText(SecondActivity.this,"查询成功",Toast.LENGTH_SHORT).show();
//循环遍历结果集,取出数据,显示出来
while (cursor.moveToNext()){
@SuppressLint("Range") String mysno=cursor.getString(cursor.getColumnIndex("sno"));
@SuppressLint("Range") String myname=cursor.getString(cursor.getColumnIndex("name"));
@SuppressLint("Range") String mysex=cursor.getString(cursor.getColumnIndex("sex"));
@SuppressLint("Range") String mypro=cursor.getString(cursor.getColumnIndex("professional"));
@SuppressLint("Range") String mydep=cursor.getString(cursor.getColumnIndex("department"));
txt_tworesult.setText(mysno+"\n"+myname+"\n"+mysex+"\n"+mypro+"\n"+mydep);
}
}else {
Toast.makeText(SecondActivity.this, "查询失败", Toast.LENGTH_SHORT).show();
txt_tworesult.setText("查询失败");
}
}
});
}
private void btnNext() {
btn_twonext.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//跳转到第三个界面
Intent intent=new Intent(SecondActivity.this, DeleteActivity.class);
startActivity(intent);
}
});
}
}
activity_delete.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".DeleteActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="信息删除页面"
android:textSize="30sp"
android:textStyle="bold"
android:textColor="#000000"
android:layout_gravity="center"
android:layout_margin="80dp"/>
<EditText
android:id="@+id/editText_foursno"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请输入要删除的学号"
android:textSize="25sp"
android:textColor="#000000" />
<Button
android:id="@+id/button_fourdelete"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="删除"
android:textSize="25sp"
android:textColor="#000000"
android:layout_gravity="right"/>
<TextView
android:id="@+id/textView_fourresult"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="显示删除的结果"
android:textSize="25sp"
android:textColor="#000000" />
</LinearLayout>
DeleteActivity.java
package com.example.studentinfotest;
import android.annotation.SuppressLint;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
public class DeleteActivity extends AppCompatActivity {
EditText edit_foursno;
Button btn_fourdelete;
MyDBpenHelper mhelper;//定义一个数据库帮助类对象
SQLiteDatabase db;//定义一个操作的数据库的类对象
TextView txt_fourresult;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_delete);
//1.控件初始化
initView();
//2."删除"按钮功能的实现
btnDelete();
}
//1.控件初始化
private void initView(){
edit_foursno = findViewById(R.id.editText_foursno);
btn_fourdelete = findViewById(R.id.button_fourdelete);
mhelper = new MyDBpenHelper(DeleteActivity.this);//实例化数据库帮助类对象
db = mhelper.getWritableDatabase();//获取数据库的读写权限
txt_fourresult = findViewById(R.id.textView_fourresult);
}
//2."删除"按钮功能的实现
private void btnDelete() {
btn_fourdelete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String snoToDelete = edit_foursno.getText().toString();
Cursor cursor = db.rawQuery("SELECT * FROM stu_info WHERE sno=?", new String[]{snoToDelete});
// 用于保存删除的数据
StringBuilder deletedData = new StringBuilder();
if (cursor.moveToFirst()) {
// 遍历结果集,保存要删除的数据
do {
@SuppressLint("Range") String mysno = cursor.getString(cursor.getColumnIndex("sno"));
@SuppressLint("Range") String myname = cursor.getString(cursor.getColumnIndex("name"));
@SuppressLint("Range") String mysex = cursor.getString(cursor.getColumnIndex("sex"));
@SuppressLint("Range") String mypro = cursor.getString(cursor.getColumnIndex("professional"));
@SuppressLint("Range")String mydep = cursor.getString(cursor.getColumnIndex("department"));
deletedData.append("学号: ").append(mysno).append("\n");
deletedData.append("姓名: ").append(myname).append("\n");
deletedData.append("性别: ").append(mysex).append("\n");
deletedData.append("专业: ").append(mypro).append("\n");
deletedData.append("系所: ").append(mydep).append("\n\n");
} while (cursor.moveToNext());
// 显示删除前的数据
txt_fourresult.setText(deletedData.toString());
// 执行删除操作
int deleteCount = db.delete("stu_info", "sno=?", new String[]{snoToDelete});
if (deleteCount > 0) {
Toast.makeText(DeleteActivity.this, "删除成功", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(DeleteActivity.this, "删除失败", Toast.LENGTH_SHORT).show();
}
} else {
// 没有找到要删除的数据
Toast.makeText(DeleteActivity.this, "未找到要删除的数据", Toast.LENGTH_SHORT).show();
}
cursor.close();
}
});
}
}