SQL-ключевые слова сами по себе нечувствительны к регистру.
Имена таблиц, столбцов и т. д. имеют чувствительность к регистру, зависящую от базы данных. Вероятно, вы должны предположить, что они чувствительны к регистру, если вы не знаете иначе (во многих базах данных они не так, но в именах таблиц MySQL есть SOMETIMES с учетом регистра, но большинство других имен нет).
Сравнение данных с использованием =,>, & lt; и т. д., имеет информацию о случаях, которая зависит от настроек сортировки, которые используются в отдельной базе данных, таблице или столбце, о котором идет речь. Это нормально, однако, держать сопоставление достаточно последовательным в базе данных. У нас есть несколько столбцов, которые должны хранить значения, чувствительные к регистру; они имеют определенную настройку.
ref.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
if (dataSnapshot.exists()) {
String value = dataSnapshot.getValue().toString();
String key = dataSnapshot.getKey();
String record = key + ": " + value;
Userlist.add(record);
addStudents(Userlist);
}
Это сработало для меня.
Так как вы делаете приложение, которое подсчитывает количество подарков конкретного ученика. Вы можете сделать это следующим образом:
Сначала вы можете установить значение, которое будет храниться в базе данных, как: mFirebaseDatabaseReference.push().setValue(new String[]{student_name,attendance})
. Здесь хранятся данные: - Сэм, 70 и Майк, 75
Теперь извлеките эти данные, используя ChildEventListener:
mChildEventListener = new ChildEventListener() {
@Override
public void onChildAdded(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {
String data = dataSnapshot.getValue();
mMyAdapter.add(data);
);
Единственное, чего здесь не следует, это то, что вам не обязательно помещать student_id, как мы используем здесь метод push()
, чтобы у каждого ребенка новый идентификатор, чтобы нам не приходилось беспокоиться о том, что данные будут нарушены для учеников с одинаковыми именами или отметками.