a newbie question about gadfly
gbreed at cix.compulink.co.uk
gbreed at cix.compulink.co.uk
Wed Jun 13 10:30:51 EDT 2001
In article <vmoeit4n499fujuj5ine300ial3l94p81l at 4ax.com>,
jm7potter at hotmail.com () wrote:
> On 12 Jun 2001 15:34:16 GMT, gbreed at cix.compulink.co.uk wrote:
>
> >In article <hrbcit86g5gbmc63em9gc6tsji7nv78dqr at 4ax.com>,
> >jm7potter at hotmail.com () wrote:
> >
> >> Why? is namex not a direct replacement for "donna" ????
> >
> >Um, no, not the way you're doing it. Try replacing that
magic
> >line with
> >
> >
> >Or even
> >
> >cursor.execute("insert into students (name, grade) values
> >(%(namex)s, %(gradex)s)" % vars())
> >
> >(that's sure to wordwrap!)
> >
> >
> > Graham
>
>
> Thanks for the help Graham,
>
> However, your code did not work either. The little program
chokes every
> time I try to
> do anything that is not "hard-wired" into the script.
Oops! There is an error:
cursor.execute(
"insert into students (name, grade) values ('%s', '%s')"
% (namex, gradex))
might be better. I forgot to quote the arguments, and at least
one of them is a string.
> Oddly, the books that mention gadfly do not attempt anything
but
> hard-wired code.
> Perhaps they know something?
>
> Hammond & Robinson cover gadfly in their "Python: programming
on Win32"
> (pp. 256
> -259) but never attempt to get data from a user and send it to
the
> database.
Oh, you have that? I think the example right at the bottom of
p.257 should do what you want. In your case
insertstat = "insert into students (name, grade) values (?, ?)"
cursor.execute(insertstat, (namex, gradex))
Just in case that doesn't work, I ran this code on the test
database as set up in the middle of p.257
>>> bar = 'guiodos'
>>> drinker = 'tim'
>>> perweek = 35
>>> cursor.execute("insert into Frequents(perweek, bar, drinker)
values (%s, '%s', '%s')"%(perweek, bar, drinker))
>>> cursor.execute('select * from frequents')
>>> print cursor.pp()
PERWEEK | BAR | DRINKER
============================
1 | lolas | adam
3 | cheers | woody
5 | cheers | sam
3 | cheers | norm
2 | joes | wilt
1 | joes | norm
6 | lolas | lola
2 | lolas | norm
3 | lolas | woody
0 | frankies | pierre
1 | pans | peter
35 | guiodos | tim
> For that matter, in "Learning Python" I see that Lutz &
Ascher do not
> even attempt
> to get user input until page 200 when as an aside to exception
handling
> they tell us
> about raw_input. Well, they do get user input via command line
> arguments, but that
> can take one only so far.
And raw_input can only get you so far as well, so the emphasis
is on GUIs for user input.
Graham
More information about the Python-list
mailing list