Anyway, I've recently started dabbling with IronPython, and despite not being the biggest Python fan in the world, the combination of .NET, and a dynamic language like Python was too hard to resist.
Here are my database utility functions (dbutil.py): (Work in Progress)
import clr
clr.AddReferenceByPartialName("System.Data")
clr.AddReferenceByPartialName("System.Configuration")
from System.Data import *
from System.Data.SqlClient import *
from System.Configuration.ConfigurationSettings import GetConfig
try:
default_connection_string =
GetConfig("connectionStrings").ConnectionStrings["defaultConnectionString"].
ConnectionString
except:
pass
def isdbnull(v):
return isinstance(v, System.DBNull)
def get_dt(query):
conn=SqlConnection(default_connection_string)
try:
conn.Open()
sa = SqlDataAdapter(query, conn)
dt = DataTable()
try:
sa.Fill(dt)
return dt
finally:
dt.Dispose()
finally:
conn.Dispose()
def get_dr(query):
dt=get_dt(query)
if dt.Rows.Count > 0:
return dt.Rows[0]
def get_col(query):
dt=get_dt(query)
try:
return [x[0] for x in dt.Rows]
finally:
dt.Dispose()
def get_scalar(query):
conn=SqlConnection(default_connection_string)
try:
conn.Open()
comm=SqlCommand(query, conn)
return comm.ExecuteScalar()
finally:
conn.Dispose()
No comments:
Post a Comment