gpt4 book ai didi

android - 如何在 MainClass 中显示游标计数(某物)返回

转载 作者:行者123 更新时间:2023-11-29 23:03:50 25 4
gpt4 key购买 nike

如您所见,我想获取指定学生的总数。

我已经尝试了下面的代码,但我没有得到我正在寻找的东西!

//数据库助手

public Cursor MyCredits(String StudentNo){
SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor = db.rawQuery("SELECT COUNT(CourseCredit) FROM tblCourses JOIN tblMyCourses ON tblCourses.CourseNumber = tblMyCourses.CourseNumber WHERE StudentNumber = ? ",new String[]{ StudentNo } );
return cursor;
}

//主要内容

String StudentNo = commonValues.SaveStudentID)
Cursor cursor1 = db.MyCredits(StudentNo);
if (cursor1.getCount() > 0){
while (cursor1.moveToNext()){
Log.i(TAG, cursor1.getString(0));
}
}else{
Toast.makeText(context, "You didn't selected any Course", Toast.LENGTH_SHORT).show();
}

我试图获得他的总学分的用户选择了三门类(class):2.5、5、2 学分。我预计 Count(CourseCredit) 的输出为 9.5,但实际输出为 2.5。

最佳答案

您可能希望将查询基于所选行的列的SUM,而不是所选行的COUNT:-

Cursor cursor = db.rawQuery("SELECT sum(CourseCredit) FROM tblCourses JOIN tblMyCourses ON tblCourses.CourseNumber = tblMyCourses.CourseNumber WHERE StudentNumber = ? ",new String[]{ StudentNo } );

在您的数据库助手中,您可以使用(替换当前的 MyCredits 方法):-

public double MyCredits(String StudentNo){

double rv = 0;
SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor = db.rawQuery("SELECT sum(CourseCredit) AS credits FROM tblCourses JOIN tblMyCourses ON tblCourses.CourseNumber = tblMyCourses.CourseNumber WHERE StudentNumber = ? ",new String[]{ StudentNo } );
if (cursor.moveToFirst()) {
rv = cursor.getDouble(cursor.getColumnIndex("credits"));
}
cursor.close();
return rv;
}

请注意,如果没有与学号匹配的行,则返回值为 0。

然后您可以在 Main 中使用以下链接:-

double credits = db.MyCredits(commonValues.SaveStrudentID);
if (credits > 0) {
Log.i(TAG, String.valueOf(credits));
} else {
Toast.makeText(context, "You didn't selected any Course", Toast.LENGTH_SHORT).show()
}

关于android - 如何在 MainClass 中显示游标计数(某物)返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56728717/

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