| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Python: Базы данных > Пробуем на вкус MySQL. |
| Автор: proDiva 20.10.2006, 10:48 | ||
Не получается записать результаты в файл стандартными методами (вместо вывода на экран). Может есть специальные для данного случая? |
| Автор: slivlen 20.10.2006, 13:20 | ||
|
| Автор: Artemios 20.10.2006, 13:39 | ||
шутка |
| Автор: proDiva 20.10.2006, 13:55 |
| slivlen, вот что выдал: Traceback (most recent call last): File "C:\MySQL_proba\1.py", line 25, in -toplevel- Select(curs) File "C:\MySQL_proba\1.py", line 19, in Select t.write(','.join(rw)) TypeError: sequence expected, NoneType found про это я и говорила, что стандартные методы не сработали Может есть еще варианты? Artemios, оценила))) |
| Автор: slivlen 20.10.2006, 14:43 | ||
| Хех... А зачем rw=curs.fetchone() перед циклом? У тебя из-за этого выход за пределы массива происходит и fetchone возвращает None. Еще кстати каждый элемент надо к строке приводить.
|
| Автор: slivlen 20.10.2006, 15:31 | ||
|
| Автор: proDiva 20.10.2006, 15:34 |
| Не спорю, я часто ошибаюсь, спасибо за помощь. Еще вопрос..... кодировка utf-8...... в базе все на русском отлично вижу, а возвращает одни вопросы (символы). Видимо, где-то еще нестыковка? |
| Автор: slivlen 20.10.2006, 15:41 |
| У меня тоже было такое. Посмотри решение здесь: http://softwaremaniacs.org/forum/viewtopic.php?id=175 |
| Автор: proDiva 20.10.2006, 16:22 |
| Попробовала создать новую базу и явно задать кодировку....... все равно возвращает вопросы |
| Автор: slivlen 20.10.2006, 16:44 | ||
Попробуй зделать еще так:
|
| Автор: proDiva 20.10.2006, 16:44 |
| Причем как бы явно не задавалась кодировка cp1251.... латиница замечательно выходит. Добавлено @ 16:49 slivlen, последний вариант сработал...... выражаю искеннюю благодарность от лица всего коллектива Но все-таки интересно, почему так сработало? |
| Автор: proDiva 25.12.2006, 12:49 | ||
Что не так? Не хочет вставлять запись |
| Автор: _Viper_ 25.12.2006, 15:20 |
а commit вызывать не надо? |
| Автор: proDiva 26.12.2006, 12:11 |
| Честно говоря, не знаю, что делает эта команда...... что-то типа "сохранить"? |
| Автор: _Viper_ 26.12.2006, 14:02 | ||
В принципе сервер может быть сконфигурирован так чтобы вызывать commit после каждой транзакции автоматически. Если нет, то надо вызывать commit самому. В MySQLdb commit это метод Connection объкта. Попробуй его вызвать после INSERT. |