创建一个简单的学生管理系统应用程序来接受学生的名单 编号、姓名和分数,并将这些详细信息添加到学生表中。 (假设所有字段 VARCHAR 数据类型,这是一个可变长度的字符串)。执行 对数据库进行以下操作 A。允许用户添加学生详细信息。 b.允许用户删除和更新详细信息。 C。允许用户显示或查看详细信息。
我尝试创建函数,但遇到了一些错误
MainAcitvity.java
package com.example.studentmanagementsystem;
import android.database.Cursor;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import java.util.ArrayList;
public class MainActivity extends AppCompatActivity {
private EditText editTextRollNumber, editTextName, editTextMarks;
private Button buttonAdd, buttonUpdate, buttonDelete, buttonView;
private ListView listViewStudents;
private StudentDatabase studentDatabase;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Initialize UI components
editTextRollNumber = findViewById(R.id.editTextRollNumber);
editTextName = findViewById(R.id.editTextName);
editTextMarks = findViewById(R.id.editTextMarks);
buttonAdd = findViewById(R.id.buttonAdd);
buttonUpdate = findViewById(R.id.buttonUpdate);
buttonDelete = findViewById(R.id.buttonDelete);
buttonView = findViewById(R.id.buttonView);
listViewStudents = findViewById(R.id.listViewStudents);
// Initialize database
studentDatabase = new StudentDatabase(this);
// Set onClickListeners for buttons
buttonAdd.setOnClickListener(v -> addStudent());
buttonUpdate.setOnClickListener(v -> updateStudent());
buttonDelete.setOnClickListener(v -> deleteStudent());
buttonView.setOnClickListener(v -> viewStudents());
}
private void addStudent() {
String rollNumber = editTextRollNumber.getText().toString();
String name = editTextName.getText().toString();
String marks = editTextMarks.getText().toString();
if (studentDatabase.insertData(rollNumber, name, marks)) {
Toast.makeText(this, "Student added successfully", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(this, "Failed to add student", Toast.LENGTH_SHORT).show();
}
}
private void updateStudent() {
String rollNumber = editTextRollNumber.getText().toString();
String name = editTextName.getText().toString();
String marks = editTextMarks.getText().toString();
if (studentDatabase.updateData(rollNumber, name, marks)) {
Toast.makeText(this, "Student updated successfully", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(this, "Failed to update student", Toast.LENGTH_SHORT).show();
}
}
private void deleteStudent() {
String rollNumber = editTextRollNumber.getText().toString();
if (studentDatabase.deleteData(rollNumber)) {
Toast.makeText(this, "Student deleted successfully", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(this, "Failed to delete student", Toast.LENGTH_SHORT).show();
}
}
private void viewStudents() {
Cursor cursor = studentDatabase.getAllData();
ArrayList<String> studentList = new ArrayList<>();
while (cursor.moveToNext()) {
String str =
"Roll Number: " + cursor.getString(0) + ", " +
"Name: " + cursor.getString(1) + ", " +
"Marks: " + cursor.getString(2) + "\n";
studentList.add(str);
}
ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, studentList);
listViewStudents.setAdapter(adapter);
}
}
学生数据库.java
package com.example.studentmanagementsystem;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
public class StudentDatabase {
private static final String DATABASE_NAME = "student.db";
private static final String TABLE_NAME = "student_table";
private static final String COL_1 = "ROLL_NUMBER";
private static final String COL_2 = "NAME";
private static final String COL_3 = "MARKS";
private SQLiteDatabase database;
public StudentDatabase(Context context) {
database = context.openOrCreateDatabase(DATABASE_NAME, Context.MODE_PRIVATE, null);
createTable();
}
private void createTable() {
String createTableQuery =
"CREATE TABLE IF NOT EXISTS " + TABLE_NAME + " (" +
COL_1 + " INTEGER PRIMARY KEY, " +
COL_2 + " VARCHAR, " +
COL_3 + " VARCHAR)";
database.execSQL(createTableQuery);
}
public boolean insertData(String rollNumber, String name, String marks) {
ContentValues contentValues = new ContentValues();
contentValues.put(COL_1, rollNumber);
contentValues.put(COL_2, name);
contentValues.put(COL_3, marks);
return database.insert(TABLE_NAME, null, contentValues) != -1;
}
public Cursor getAllData() {
return database.rawQuery("SELECT * FROM " + TABLE_NAME, null);
}
public boolean updateData(String rollNumber, String name, String marks) {
ContentValues contentValues = new ContentValues();
contentValues.put(COL_2, name);
contentValues.put(COL_3, marks);
return database.update(TABLE_NAME, contentValues, COL_1 + " = ?", new String[]{rollNumber}) > 0;
}
public boolean deleteData(String rollNumber) {
return database.delete(TABLE_NAME, COL_1 + " = ?", new String[]{rollNumber}) > 0;
}
}
activity_main.xml