Size: 1480
Comment: converted to 1.6 markup
|
← Revision 4 as of 2010-01-18 07:40:50 ⇥
Size: 1376
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 8: | Line 8: |
self.__fields=dict() for i in range(len(fields)): self.__fields[fields[i].upper()]=values[i] |
self.__fields={} for f,v in zip(fields, values): self.__fields[f.upper()]=v |
Line 14: | Line 14: |
fieldName=fieldName.upper() if self.__fields.has_key(fieldName): return self.__fields[fieldName] else: return None |
return self.__fields.get(fieldName.upper()) |
mssqlDataset
import pymssql class mssqlDatarow(object): def __init__(self,fields,values): self.__fields={} for f,v in zip(fields, values): self.__fields[f.upper()]=v self.__values=values def getValue(self,fieldName): return self.__fields.get(fieldName.upper()) class mssqlDataset(object): def __init__(self,cnt): self.__cnt=cnt self.rows=None self.fieldNames=None def getFieldNameOnSelectAs(self,sqlSelect): sqlSelect=sqlSelect.strip().upper() asFix=' as '.upper() asIndex=sqlSelect.rfind(asFix) if asIndex<=0: return sqlSelect sqlSelect=sqlSelect[asIndex+len(asFix):] return sqlSelect def query(self,sqlSelect,sqlFrom,sqlWhere=None ,sqlOrder=None,sqlGroup=None,sqlPre=None): s=sqlSelect.strip() s=s.split(",") self.fieldNames=map(self.getFieldNameOnSelectAs,s) ssql="select %s%s "%(sqlPre+" " if sqlPre else "" ,sqlSelect if sqlSelect else "") ssql+="\nfrom %s "%(sqlFrom if sqlFrom else "",) ssql+="\n%s "%("where "+sqlWhere if sqlWhere else "",) ssql+="\n%s "%("order by "+sqlOrder if sqlOrder else "",) ssql+="\n%s"%("group by "+sqlGroup if sqlGroup else "",) cur=self.__cnt.cursor() cur.execute(ssql) fetches=cur.fetchall() cur.close() self.rows=list() for fetch in fetches: self.rows.append(mssqlDatarow(self.fieldNames,fetch))