gpt4 book ai didi

java - SQlite Android没有这样的表列students.studentId

转载 作者:行者123 更新时间:2023-12-01 23:10:45 25 4
gpt4 key购买 nike

我想我几乎把时间都花在了网上搜索问题的可能解决方案上。我成功插入了一个学生和一个科目,但是当从两个表中获取数据时,会导致程序崩溃并显示错误“没有这样的列”。

请帮助我。

创建表格

private static final String CREATE_TABLE_SUBJECT = "CREATE TABLE "
+ TABLE_SUBJECT + "(" + SUBJECT_ID + " INTEGER PRIMARY KEY," + SUBJECT_NAME
+ " TEXT," + SUBJECT_SCHEDULE + " TEXT," + SUBJECT_FILELOCATION
+ " TEXT" + ")";

private static final String CREATE_TABLE_STUDENT = "CREATE TABLE "
+ TABLE_STUDENT + "(" + SUBJECT_ID + " INTEGER PRIMARY KEY," + STUDENT_NAME
+ " TEXT" + ")";

private static final String CREATE_TABLE_FUSION = "CREATE TABLE "
+ TABLE_FUSION + "(" + FUSION_ID + " INTEGER PRIMARY KEY," + SUBJECT_ID
+ " INTEGER," + STUDENT_ID +" INTEGER" + ")";

我的查询显示两个表中的数据

public List<Student> getAllStudnetsBySubject(long id) {
List<Student> subject = new ArrayList<Student>();


String selectQuery = "SELECT * FROM " + TABLE_STUDENT + " students, "
+ TABLE_SUBJECT + " subjects, " + TABLE_FUSION + " fusions WHERE subjects."
+ SUBJECT_ID + " = '" + id + "'" + " AND subjects." + SUBJECT_ID
+ " = " + "fusions." + FUSION_ID + " AND students." + STUDENT_ID + " = "
+ "fusions." + FUSION_ID;



SQLiteDatabase db = this.getReadableDatabase();
Cursor c = db.rawQuery(selectQuery, null);


if (c.moveToFirst()) {
do {
Student s = new Student();
s.setStudentId(c.getInt((c.getColumnIndex(STUDENT_ID))));
s.setStudentName((c.getString(c.getColumnIndex(STUDENT_NAME))));
subject.add(s);


} while (c.moveToNext());
}

return subject;
}

LOGCAT 错误

02-27 07:00:32.938: E/DatabaseHelper(20727): SELECT  * FROM student students, subject subjects, fusion fusions WHERE subjects.subject_id = '1' AND subjects.subject_id = fusions.id AND students.student_id = fusions.id
02-27 07:00:32.948: E/SQLiteLog(20727): (1) no such column: students.student_id

最佳答案

String EntryA =String.valueOf( db.getentry("Ravirrrr", "KEY_Team_Name"));

将其更改为

String EntryA =String.valueOf( db.getentry("Ravirrrr", "_Team_Name"));

KEY_Team_Name 是 sqlite 帮助程序中的一个变量,其值包含列名称 “_Team_Name”。您不需要文字字符串“KEY_Team_Name”

关于java - SQlite Android没有这样的表列students.studentId,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22055707/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com