一段代码有几处不明白之处,高手帮我分析下好吗?

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方法?

...全文
63 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
iambic 2007-10-17
  • 打赏
  • 举报
回复
我不太清楚。这个应该是数据库的管理服务。要不你试下:

http://127.0.0.1:7002

如果是远程访问把127.0.0.1换成服务器所在的ip。
jysyl 2007-10-17
  • 打赏
  • 举报
回复
我听我朋友说,你可以在你的IE上查看你的数据库状态?
好像是输入http://127.0.0.1/7002什么之类的,我主边试了不行啊

iambic 你还在吗?
iambic 2007-10-16
  • 打赏
  • 举报
回复
use_inicode = False, #这句代码是什么意思?
charset= 'utf8 ') #这句代码是什么意思?

都是建立数据库链接的参数。这两个是设置字符集。使用utf-8编码的unicode。

f = StringIO() #StringIO()是什么意思?
StringIO是把字符串作为流来读写的一个类。这里用的是cStringIO模块,可以查python文档。

# <B > <BR >这些的话是原样输出吗?
是的。但是%s将被替换称相应参数。

if __name__ == '__main__ ':         #这一段的话是什么意思?
可以看作主程序的入口点。

s.serve_forever()     #还有如何让他在IE上显示结果呢?
不太明白你的意思。数据不是在数据库中吗?

在问一下,如果要这些这些函数,是不是要先创建类的对像在来调用呢?比方说要用到addUser方法?
有些函数是可以直接调用的。比如你的代码中getConn。
jysyl 2007-10-16
  • 打赏
  • 举报
回复
问题是多点,但希要你你能帮我解答下,不然等下吃不上饭哦 ////555555

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧