PDO Освободил буфер запросы

Используйте начальное задание для метода результата:

val intent = Intent(this,CalendarActivity::class.java)
startActivityForResult(intent,REQUEST_CODE(int))

Затем при повторном нажатии действия «Календарь» вы можете переопределить метод onBackPressed следующим образом:

 override fun onBackPressed() {
   val data = Intent().putExtra("key","fragment index to switch")
   setResult(Activity.RESULT_OK,data)
   finish()
} 

Теперь в вашем задании с нижней панелью навигации:

override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
    super.onActivityResult(requestCode, resultCode, data)
    if (requestCode == REQUEST_CODE(int) && resultCode == RESULT_OK) {
        val index = data.getIntExtra("key")
        //Then switch your fragment here.
    }
}

Если вы не хотите переключаться, вы можете установить результат следующим образом:

setResult(Activity.RESULT_CANCELLED)

Надеюсь, это поможет.

14
задан Robert Munteanu 6 November 2011 в 11:41
поделиться

4 ответа

Проблема в том, что mysql допускает только один ожидающий курсор в данный момент. Используя метод fetch () и не используя все ожидающие данные, вы оставляете курсор открытым.

Рекомендуемый подход - использовать все данные с помощью метода fetchAll (). Альтернативой является использование метода closeCursor ().

Если вы измените эту функцию, я думаю, вы будете счастливее:

<?php
function getValue($cn, $comando) {
    $resul = $cn->query($comando);
    if (!$resul) return null;
    foreach ($resul->fetchAll() as $res) {
            $retorno = $res[0];
            break;
    }
    return $retorno;
}
?>
22
ответ дан 1 December 2019 в 06:21
поделиться

Проблема, кажется, --- я не слишком знаком с PDO --- что после возврата вашего вызова getValue запрос все еще привязан к соединению (вы только когда-либо запрашиваете первое значение, но соединение возвращает несколько или ожидает этого).

Возможно, getValue можно исправить, добавив

$resul->closeCursor();

перед возвратом.

В противном случае, если запросы к getValue всегда будут возвращать один (или мало) значение, похоже, будет предпочтительнее использовать fetchAll.

8
ответ дан 1 December 2019 в 06:21
поделиться

У моего друга была такая же проблема со сборкой xampp 1.7.1. После замены xampp / php / * сборкой 5.2.9-2 php.net и копирования всех необходимых файлов в xampp / apache / bin он работал нормально.

0
ответ дан 1 December 2019 в 06:21
поделиться

Если вы используете XAMPP 1.7.1, вам просто нужно перейти на 1.7.2.

0
ответ дан 1 December 2019 в 06:21
поделиться
Другие вопросы по тегам:

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