一段代码有几处不明白之处,高手帮我分析下好吗?
jysyl 2007-10-16 04:03:49 import sys
import os
import servletserver
from MySQLdb import *
from cStringIO import StringIO
def getConn():
return Connection(host = '127.0.0.1',
user = 'root',
db = 'test',
passwd = '123456',
use_inicode = False, #这句代码是什么意思?
charset='utf8') #这句代码是什么意思?
class TestDbServlet:
def initTable(self,h):
conn = getConn()
cur = conn.cursor()
f = StringIO() #StringIO()是什么意思?
cur.execute("CREATE TABLE firends"
"(name CHAR(32) PRIMARY KEY,"
" age BIGINT,"
" address VARCHAR(1024))")
cur.execute("CREATE TABLE score"
"(name CHAR(32) PRIMARY KEY,"
"val BIGINT)")
f.write('create table OK!')
h.write(f)
def listAllUser(self,h):
conn = getConn()
cur = conn.cursor()
f = StringIO()
cur.execute("SELECT a.name, a.age,b.val FROM friends as a,score as b WHERE a.name = b.name")
allMembers = cur.fetchall()
f.write('member count:%s<BR>'%len(allMembers))
for m in allMembers:
f.write('name:<B>%s<B> age:<B>%s<B> val:<B>%s<B><BR>' %(m[0],m[1],m[2]))
#<B> <BR>这些的话是原样输出吗?
h.write(f)
def addUser(self,h,name,age,val,address):
conn = getConn()
cur = conn.cursor()
f = StringIO()
cur.execute("INSERT INTO friends(name,age,address) VALUES('%s', %s,'%s');"%(name,age,address))
cur.execute("INSERT INTO score (name,val) VALUES ('%s',%s);" % (name,val))
cur.execute("commit;")
f.write('add %s OK!'%(name))
h.write(f)
def updateUser(self,h,name,val):
conn = getConn()
cur = conn.cursor()
f = StringIO()
cur.execute("UPDATE score SET val=%s WHERE name='%s';"%(val,name))
cur.execute("commit;")
f.write('update %s OK!' %(name))
h.write(f)
if __name__ =='__main__': #这一段的话是什么意思?
servletserver.ServletRequestHandler.enableDebug = True
s = servletserver.ThreadingServletServer(('0.0.0.0',7002),logRequests = 0)
s.register_instance(TestDbServlet())
s.serve_forever() #还有如何让他在IE上显示结果呢?
在问一下,如果要这些这些函数,是不是要先创建类的对像在来调用呢?比方说要用到addUser方法?