Как эффективно использовать MySQLDB SScursor?

Вы можете сохранить значение с помощью этого метода:

public void savePreferencesForReasonCode(Context context,
    String key, String value) {
    SharedPreferences sharedPreferences = PreferenceManager
    .getDefaultSharedPreferences(context);
    SharedPreferences.Editor editor = sharedPreferences.edit();
    editor.putString(key, value);
    editor.commit();
    }

И используя этот метод, вы можете получить значение из SharedPreferences:

public String getPreferences(Context context, String prefKey) {
  SharedPreferences sharedPreferences = PreferenceManager
 .getDefaultSharedPreferences(context);
 return sharedPreferences.getString(prefKey, "");
}

Здесь prefKey - это ключ, который вы использовали для сохранения определенного значения. Спасибо.

30
задан Mark Amery 9 August 2016 в 16:28
поделиться

2 ответа

Я согласен с ответом Отто Аллмендингера, но четко Комментарий Дениса Откидача, вот как вы можете перебирать результаты без использования функции Отто fetch ():

import MySQLdb.cursors
connection=MySQLdb.connect(
    host="thehost",user="theuser",
    passwd="thepassword",db="thedb",
    cursorclass = MySQLdb.cursors.SSCursor)
cursor=connection.cursor()
cursor.execute(query)
for row in cursor:
    print(row)
32
ответ дан 27 November 2019 в 22:32
поделиться

Определенно используйте SSCursor при выборке больших наборов результатов. Когда у меня возникла похожая проблема, для меня было очень много разницы. Вы можете использовать его так:

import MySQLdb
import MySQLdb.cursors

connection = MySQLdb.connect(
        host=host, port=port, user=username, passwd=password, db=database, 
        cursorclass=MySQLdb.cursors.SSCursor) # put the cursorclass here
cursor = connection.cursor()

Теперь вы можете выполнить свой запрос с помощью cursor.execute () и использовать курсор в качестве итератора.

Изменить : удален ненужный итератор собственного производства, спасибо Денис!

11
ответ дан 27 November 2019 в 22:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: