This wiki is in the process of being archived due to lack of usage and the resources necessary to serve it — predominately to bots, crawlers, and LLM companies. Edits are discouraged.
Pages are preserved as they were at the time of archival. For current information, please visit python.org.
If a change to this archive is absolutely needed, requests can be made via the infrastructure@python.org mailing list.

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))

2026年02月14日 16:15

AltStyle によって変換されたページ (->オリジナル) /