关于pymssql问题??

关于pymssql问题??

最近用到pymssql数据库链接模块
但使用以下方法后,无法执行,不知那位可以帮我解决
con = pymssql.connect(host='192.168.13.122',user='sa',password='',database='tempdb')
cur = con.cursor()
cur.execute("select * from username where name=? and age=?",("12",34))
rows = cur.fetchall()
print rows


以上代码提示无法工作,但文档上说明可以执行,请帮忙看一下
请帖下具体错误代码和提示哦
Traceback (most recent call last):
  File "D:\python\a.py", line 12, in <module>
    cursor.execute("select * from yhxx where yhbh=?",("100900888000508"))
  File "C:\Python25\Lib\site-packages\pymssql.py", line 126, in execute
    self.executemany(operation, (params,))
  File "C:\Python25\Lib\site-packages\pymssql.py", line 152, in executemany
    raise DatabaseError, "internal error: %s" % self.__source.errmsg()
pymssql.DatabaseError: internal error: None
cursor.execute("select * from yhxx where yhbh=?",("100900888000508"))
这行改成下面的试试:
cursor.execute("select * from yhxx where yhbh=%s",("100900888000508"))


QUOTE:
原帖由 ragkk 于 2008-12-25 14:18 发表
cur.execute("select * from username where name=? and age=?",("12",34))

这是写法是不是受了.net里访问数据库参数替换的影响?另外既然访问 sqlserver就用ado好了,反正是在win下费这个劲非得绕到dbapi上有什么实质好处?非要用dbapi我到觉得还不如用adodbapi,或者pyodbc.
cursor.execute("select * from yhxx where yhbh=%s",("100900888000508"))
这个我知道,但好像是错误的,应该是这样的
cursor.execute("select * from yhxx where yhbh=%s",("100900888000508",))
pymssql这个不好吗?我一般用什么数据库就用什么库,
mssql:pymssql
mysql:myssqldb
oracle:cx_Oracle