1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>1.6 MySql -- Simple MySQLdb wrapper to access a MySql database.</title>
<META NAME="description" CONTENT="1.6 MySql -- Simple MySQLdb wrapper to access a MySql database.">
<META NAME="keywords" CONTENT="lib">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="STYLESHEET" href="lib.css" type='text/css'>
<link rel="first" href="lib.html">
<link rel="contents" href="contents.html" title="Contents">
<LINK REL="next" href="module-MaskTools.html">
<LINK REL="previous" href="module-Form.html">
<LINK REL="up" HREF="node3.html">
<LINK REL="next" href="module-MaskTools.html">
<meta name='aesop' content='information'>
</head>
<body>
<DIV CLASS="navigation">
<table align="center" width="100%" cellpadding="0" cellspacing="2">
<tr>
<td><A HREF="node22.html"><img src="../icons/previous.gif"
border="0" height="32"
alt="Previous Page" width="32"></A></td>
<td><A HREF="node3.html"><img src="../icons/up.gif"
border="0" height="32"
alt="Up One Level" width="32"></A></td>
<td><A href="module-MaskTools.html"><img src="../icons/next.gif"
border="0" height="32"
alt="Next Page" width="32"></A></td>
<td align="center" width="100%">CherryPy Standard Library Reference</td>
<td><A href="contents.html"><img src="../icons/contents.gif"
border="0" height="32"
alt="Contents" width="32"></A></td>
<td><img src="../icons/blank.gif"
border="0" height="32"
alt="" width="32"></td>
<td><img src="../icons/blank.gif"
border="0" height="32"
alt="" width="32"></td>
</tr></table>
<b class="navlabel">Previous:</b> <a class="sectref" HREF="node22.html">1.5.4 Putting it together</A>
<b class="navlabel">Up:</b> <a class="sectref" HREF="node3.html">1. Module list</A>
<b class="navlabel">Next:</b> <a class="sectref" href="module-MaskTools.html">1.7 MaskTools </A>
<br><hr>
</DIV>
<!--End of Navigation Panel-->
<H1><A NAME="SECTION003600000000000000000">
1.6 <tt class="module">MySql</tt> -- Simple MySQLdb wrapper to access a MySql database.</A>
</H1>
<P>
This module is a very simple module. The source code is the following:
<P>
<div class="verbatim"><pre>
import MySQLdb
################
CherryClass MySql abstract:
################
function:
def openConnection(self, host, user, passwd, db):
self.connection=MySQLdb.connect(host, user, passwd, db)
def query(self, query):
c=self.connection.cursor()
c.execute(query)
res=c.fetchall()
c.close()
return res
</pre></div>
<P>
All it does is it provides a CherryClass wrapper to the Python MySQLdb module
<P>
All you have to do to use it is declare a CherryClass that inherits from MySql, call the <var>openConnection</var>
method in the <var>__init__</var> method, and use <var>query</var> to execute a query and get the result.
<P>
The connection will be automatically opened when the server gets started (when your CherryClass gets instantiated), and
it will remain open until the server dies.
<P>
The following code is an example on how to use the module:
<P>
<div class="verbatim"><pre>
use MySql
CherryClass MyDb(MySql):
function:
def __init__(self):
self.openConnection('host', 'user', 'password', 'database')
CherryClass Root:
mask:
def index(self):
<html><body>
Hello, there are currently <py-eval="myDb.query('select count(*) from user')[0][0]"> users in the database
</body></html>
</pre></div>
<DIV CLASS="navigation">
<p><hr>
<table align="center" width="100%" cellpadding="0" cellspacing="2">
<tr>
<td><A HREF="node22.html"><img src="../icons/previous.gif"
border="0" height="32"
alt="Previous Page" width="32"></A></td>
<td><A HREF="node3.html"><img src="../icons/up.gif"
border="0" height="32"
alt="Up One Level" width="32"></A></td>
<td><A href="module-MaskTools.html"><img src="../icons/next.gif"
border="0" height="32"
alt="Next Page" width="32"></A></td>
<td align="center" width="100%">CherryPy Standard Library Reference</td>
<td><A href="contents.html"><img src="../icons/contents.gif"
border="0" height="32"
alt="Contents" width="32"></A></td>
<td><img src="../icons/blank.gif"
border="0" height="32"
alt="" width="32"></td>
<td><img src="../icons/blank.gif"
border="0" height="32"
alt="" width="32"></td>
</tr></table>
<b class="navlabel">Previous:</b> <a class="sectref" HREF="node22.html">1.5.4 Putting it together</A>
<b class="navlabel">Up:</b> <a class="sectref" HREF="node3.html">1. Module list</A>
<b class="navlabel">Next:</b> <a class="sectref" href="module-MaskTools.html">1.7 MaskTools </A>
<hr>
<span class="release-info">Release 0.10, documentation updated on 19 March 2004.</span>
</DIV>
<!--End of Navigation Panel-->
<ADDRESS>
See <i><a href="about.html">About this document...</a></i> for information on suggesting changes.
</ADDRESS>
</BODY>
</HTML>
|