DSN = 'PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=C:/MyDB.mdb;'
sql_statement = \ conn.Open(DSN)
conn.Execute(sql_statement) conn.Close()
£¨5£©±éÀú¼Ç¼
rs.MoveFirst() count = 0 while 1:
if rs.EOF: break else:
count = count + 1 rs.MoveNext()
14.4 ÐðÊöʹÓÃPython²Ù×÷MS SQL ServerÊý¾Ý¿âµÄ²½Öè¡£ ´ð£º
¿ÉÒÔʹÓÃpywin32ºÍpymssqlÁ½ÖÖ²»Í¬µÄ·½Ê½À´·ÃÎÊMS SQL ServerÊý¾Ý¿â¡£ ÏÈÀ´Á˽âÒ»ÏÂpywin32Ä£¿é·ÃÎÊMS SQL ServerÊý¾Ý¿âµÄ²½Öè¡£ £¨1£©Ìí¼ÓÒýÓÃ:
import adodbapi
adodbapi.adodbapi.verbose = False # adds details to the sample printout import adodbapi.ado_consts as adc
£¨2£©´´½¨Á¬½Ó:
Cfg = {'server':'192.168.29.86\\\\eclexpress','password':'xxxx','db':'pscitemp'}
constr = r\Initial Catalog=%s; Data Source=%s; user ID=%s; Password=%s; \conn = adodbapi.connect(constr)
£¨3£©Ö´ÐÐsqlÓï¾ä:
cur = conn.cursor()
sql = '''select * from softextBook where title='{0}' and remark3!='{1}''''.format(bookName,flag) cur.execute(sql) data = cur.fetchall() cur.close()
£¨4£©Ö´Ðд洢¹ý³Ì:
#¼ÙÉèproNameÓÐÈý¸ö²ÎÊý,×îºóÒ»¸ö²ÎÊý´«ÁËnull
ret = cur.callproc('procName',(parm1,parm2,None)) conn.commit()
£¨5£©¹Ø±ÕÁ¬½Ó conn.close()
½ÓÏÂÀ´ÔÙͨ¹ýÒ»¸öʾÀýÀ´¼òµ¥Á˽âÒ»ÏÂʹÓÃpymssqlÄ£¿é·ÃÎÊMS SQL ServerÊý¾Ý¿âµÄ·½·¨¡£
import pymssql
conn = pymssql.connect(host='SQL01', user='user', password='password', database='mydatabase') cur = conn.cursor()
cur.execute('CREATE TABLE persons(id INT, name VARCHAR(100))')
cur.executemany(\ALUES(%d, xinos.king)\Doe') ])
conn.commit()
cur.execute('SELECT * FROM persons WHERE salesrep=xinos.king', 'John Doe') row = cur.fetchone() while row:
print \ row = cur.fetchone()
cur.execute(\ conn.close()
14.5 ÐðÊöMySQLDbÄ£¿éÌṩµÄÊý¾Ý¿â·ÃÎÊ·½·¨¡£ ´ð£º
Python·ÃÎÊMySQLÊý¾Ý¿â¿ÉÒÔʹÓÃMySQLDbÄ£¿é£¬¸ÃÄ£¿éÖ÷Òª·½·¨ÓУº ? commit() £ºÌá½»ÊÂÎñ¡£ ? rollback() £º»Ø¹öÊÂÎñ¡£
? callproc(self, procname, args)£ºÓÃÀ´Ö´Ðд洢¹ý³Ì£¬½ÓÊյIJÎÊýΪ´æ´¢¹ý³ÌÃûºÍ²ÎÊýÁÐ±í£¬·µ»ØÖµÎªÊÜÓ°ÏìµÄÐÐÊý¡£
? execute(self, query, args)£ºÖ´Ðе¥ÌõsqlÓï¾ä£¬½ÓÊյIJÎÊýΪsqlÓï¾ä±¾ÉíºÍʹÓõIJÎÊýÁÐ±í£¬·µ»ØÖµÎªÊÜÓ°ÏìµÄÐÐÊý¡£
? executemany(self, query, args)£ºÖ´Ðе¥ÌõsqlÓï¾ä£¬µ«ÊÇÖØ¸´Ö´ÐвÎÊýÁбíÀïµÄ²ÎÊý£¬·µ»ØÖµÎªÊÜÓ°ÏìµÄÐÐÊý¡£
? nextset(self)£ºÒƶ¯µ½ÏÂÒ»¸ö½á¹û¼¯¡£ ? fetchall(self)£º½ÓÊÕÈ«²¿µÄ·µ»Ø½á¹ûÐС£
? fetchmany(self, size=None)£º½ÓÊÕsizeÌõ·µ»Ø½á¹ûÐУ¬Èç¹ûsizeµÄÖµ´óÓÚ·µ»ØµÄ½á¹ûÐеÄÊýÁ¿£¬Ôò»á·µ»Øcursor.arraysizeÌõÊý¾Ý¡£
? fetchone(self)£º·µ»ØÒ»Ìõ½á¹ûÐС£
? scroll(self, value, mode='relative')£ºÒƶ¯Ö¸Õ뵽ijһÐУ¬Èç¹ûmode='relative'£¬Ôò±íʾ´Óµ±Ç°ËùÔÚÐÐÒÆ¶¯valueÌõ£»Èç¹û mode='absolute'£¬Ôò±íʾ´Ó½á¹û¼¯µÄµÚÒ»ÐÐÒÆ¶¯valueÌõ¡£
µÚ15Õ ¶àýÌå±à³Ì
15.1 ±à³Ì³ÌÐò£¬ÔÚ´°¿ÚÉÏ»æÖÆÒ»¸öÈý½ÇÐΣ¬ÉèÖÃÈý¸ö¶¥µãΪ²»Í¬µÄÑÕÉ«£¬²¢¶ÔÄÚ²¿½øÐй⻬×ÅÉ«¡£
´ð£º
from OpenGL.GL import * from OpenGL.GLUT import * from OpenGL.GLU import * import sys
class MyPyOpenGLTest:
def __init__(self, width = 640, height = 480, title = 'MyPyOpenGLTest'): glutInit(sys.argv)
glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE | GLUT_DEPTH) glutInitWindowSize(width, height) self.window = glutCreateWindow(title) glutDisplayFunc(self.Draw) glutIdleFunc(self.Draw) self.InitGL(width, height)
#default drawing function def Draw(self):
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT) glLoadIdentity()
glTranslatef(-2.0, 0.0, -8.0)
#draw 2D graphic, leaving z to be 0 glBegin(GL_POLYGON) glColor3f(1.0, 0.0, 0.0) glVertex3f(0.0, 1.0, 0.0) glColor3f(0.0, 1.0, 0.0) glVertex3f(1.0, -1.0, 0.0) glColor3f(0.0, 0.0, 1.0) glVertex3f(-1.0, -1.0, 0.0) glEnd()
glTranslatef(2.5, 0.0, 0.0)
glutSwapBuffers()
def InitGL(self, width, height): glClearColor(0.0, 0.0, 0.0, 0.0) glClearDepth(1.0)
glDepthFunc(GL_LESS)