Форум сайта python.su
Т.е. через питоновскую переменную.
c.execute('SELECT питон_переменная_содержащая_имя_поля, other_field, other_field FROM my_table')
Нужно не явно указать имя поля для выборки, а подсунуть питон-переменную в которой хранится имя этого поля.
А ещё лучше подсунуть список, хранящий все имена полей для выборки. Это ещё лучше.
Как это сделать? Никак что-то не могу сообразить.
——————————————————————-
Дабы не создавать кучу новых тем, спрошу ещё кое о чём:
Объясните мне кто-нибудь в конце-концов КАК создать ГЛОБАЛЬНУЮ переменную, видимую во всех классах, методах, процедурах, функциях, в основном теле программы, короче ВЕЗДЕ. Чтобы её преспокойно можно было изменять из любого места.
Знаю, что есть такая штука как global, но не врубаюсь, как она работает. Вроде напишу, что переменная у меня глобальная, присвою ей значение, вроде в другом классе она видится, даже изменяется. Но вот попробовал её “обнулить” в этом самом другом классе (не в том, где она была первоначально создана), т.е. к примеру, сделать заполненный список пустым (my_spisok=)- ошибки тут же лезут всякие.
———
wx.grid.Grid некорректно отображает значения ячеек! Если значение какой-нибудь ячейки не вмещается в этой ячейке, то оно наползает на соседнюю, вместо того, чтобы отображать только то, что влазит в границы ячейки. Позор создателям wx.widgets?
Офлайн
FoxPythonА в документацию к питону(!) не заглядывал?
Как это сделать? Никак что-то не могу сообразить.
"foobar " + my_var + " barfoo" или через форматирование "foobar %s barfoo" % my_var
FoxPythonуже надоело в доку отправлять;) global добавляет переменную в локальную область видимости.
Объясните мне кто-нибудь в конце-концов КАК создать ГЛОБАЛЬНУЮ переменную, видимую во всех классах, методах, процедурах, функциях, в основном теле программы, короче ВЕЗДЕ. Чтобы её преспокойно можно было изменять из любого места.
Знаю, что есть такая штука как global, но не врубаюсь, как она работает. Вроде напишу, что переменная у меня глобальная, присвою ей значение, вроде в другом классе она видится, даже изменяется. Но вот попробовал её “обнулить” в этом самом другом классе (не в том, где она была первоначально создана), т.е. к примеру, сделать заполненный список пустым (my_spisok=)- ошибки тут же лезут всякие.
foobar = 777 def func(): global foobar foobar = 666 #изменяется глобальная переменная
Офлайн
Daevaorn
Заглядывал, не нашёл. И ваш приведённый пример не понял.
Я пытался сделать так:
nomer=100
c.execute('SELECT (?), fam, im, ot FROM mytable', nomer)
не сработало.
У меня sqlite3, с ней используется знак ? а не %s
———————-
т.е. переменную в начале текста программы (не связанную ни с какими классами) нужно просто записать и присвоить ей значение, а потом В КАЖДОМ методе, функции, процедуре приписывать ей для начала global, а потом уж присваивать новое значение? КАРАУЛ!!!! Я к такому не привык. По-моему гораздо проще сначала один раз указать, что переменная глобальная, а не в каждом методе-процедуре об этом указывать.
Офлайн
FoxPythonНе путай мелкое с мягким. Вопрос используется для экранирования значений. (т.е. в where condition для select/delete/update и values для insert). Тебе же предлагается:
Daevaorn
Заглядывал, не нашёл. И ваш приведённый пример не понял.
Я пытался сделать так:
nomer=100
c.execute('SELECT (?), fam, im, ot FROM mytable', nomer)
не сработало.
У меня sqlite3, с ней используется знак ? а не %s
Отредактировано (Ноя. 18, 2007 20:48:36)
Офлайн
FoxPythonпопробуй ещё раз заглянуть. она не кусается.
Заглядывал, не нашёл. И ваш приведённый пример не понял.
FoxPythonПрально. Привыкай к новому стилю. Глобальные переменные вообще зло, а уж те которые изменяются неизвестно где, так вообще в кошмарах приходят. Питон это тебе не Delphi какой-нибудь…
КАРАУЛ!!!! Я к такому не привык.
Офлайн
DaevaornЧто-то на хи-хи пробило…
Питон это тебе не Delphi
Офлайн
FoxPythonТо что удобно тебе, не значит что удобно всем. Не нравится не кушай.
Мне по-барабану дельфи, мне надо чтобы было удобно.
FoxPythonСочувствую.
Мой любимый язык - ФОКСПРО!
FoxPythonСочувствую.
В котором если уж я сделал переменную глобальной, то она и становится ГЛОБАЛЬНОЙ.
FoxPythonНе поверишь, тоже сочувствую. Искренне. Игрушки прибитые к полу…
Ни одна функция или процедура не имеет права более использовать переменные с таким же именем.
Офлайн
FoxPythonА нас как…DaevaornЧто-то на хи-хи пробило…
Питон это тебе не Delphi
Мой любимый язык - ФОКСПРО!Пиши на том, что нравится.
Отредактировано (Дек. 8, 2007 21:09:28)
Офлайн
Все весело посмеялись! Смех - это хорошо! :)
j2aСпасибо! Мне прикольно программировать на питоне. Буду продолжать! :)
Пиши на том, что нравится.
j2aА что именно расмешило? Большие буковки? Ну, удобно мне программировать на фокспро, вот я ему такую честь и оказал. Потому как пишу программки в основном для работы с файлами-базами данных. А фокспро для этого и создан.
А нас как…
Офлайн
FoxPythonО! Вы, наверное, все дружно решили, что глобальная переменную, вообще, нельзя использовать в функциях и процедурах?
Ни одна функция или процедура не имеет права более использовать переменные с таким же именем.
Офлайн