import pymssql #引入pymssql模組 鏈結sql server資料庫
class
sqlhelp
(object):
"""資料庫鏈結操作類"""
def__init__
(self, host, user, password, database, charset=
"utf-8"
, port=
1433
, as_dict=
true):
''' 例項化
host:鏈結
user:使用者名稱
password:密碼
database:資料庫名
charset:鏈結編碼格式,預設"utf-8"
as_dict:資料返回是否為字典,預設true
'''self.__conn_path=
defupdate_data
(self,sql ,arge='')
:"""類方法
sql:字串sql單條更新語句
return:插入影響行數
arge:多資料,list()----->[(1, 'john smith', 'john doe')]
單條資料,元組
error:-1
eg:單資料:
sql="insert into persons values(1, 'john smith', 'john doe')"
多資料:
sql="insert into persons values (%d, %s, %s)",
arge=[(1, 'john smith', 'john doe'),
(2, 'jane doe', 'joe dog'),
(3, 'mike t.', 'sarah h.')]
"""try:
with pymssql.connect(
**self.__conn_path)
as conn:
# with語句與連線和游標一起使用。這使您不必顯式關閉游標和連線。
with conn.cursor(as_dict=
true
)as cursor:
ifisinstance
(arge,
list):
cursor.executemany(sql,arge)
else
: cursor.execute(sql,arge)
effectrow = cursor.rowcount
conn.commit(
)return effectrow
except exception as ex:
print
("---------->更新操作error:"
,ex)
return-1
defget_data
(self,sql,arge=
tuple()
):""" 類方法
sql:字串sql查詢語句
return:資料list列表,無資料返回空列表
arge:元組引數
error:none
"""try:
ifnot
isinstance
(arge,
tuple):
raise exception(
"type型別錯誤,異常"
)with pymssql.connect(
**self.__conn_path)
as conn:
# with語句與連線和游標一起使用。這使您不必顯式關閉游標和連線。
with conn.cursor(
)as cursor:
print
(arge[:-
1]) cursor.execute(sql,arge)
return cursor.fetchall(
)except
:print
("------------>查詢操作error:"
,ex)
return
none
class
sqlclass
(object):
"""複雜sql資料儲存類"""
def__init__
(self, sql, arge)
:'''sql:sql
arge:所需引數
插入為列表list
其他為元組()
'''self.sql = sql
self.arge = arge
deftransaction_sql
(self, sql)
:'''
資料庫複雜sql操作,提供事務
sql:sql操作語句類(sqlclass)列表
return:影響行數
error:-1
使用方式
sqlhelp=sqlhelp("localhost","sa","123",'guiyang_universitytown_new')
lists = list()
n = sqlhelps.transaction_sql(lists)
'''try:
ifnot
isinstance
(sql,
list):
raise exception(
"引數type型別錯誤,異常"
)else
: n =
0#預設0,失敗
with pymssql.connect(
**self.__conn_path)
as conn:
with conn.cursor(
)as cursor:
for x in sql:
ifisinstance
(x.arge,
list):
cursor.executemany(x.sql,x.arge)
else
: cursor.execute(x.sql,x.arge)
n+=cursor.rowcount
if n:
conn.commit(
)return n
except exception as ex:
print
("------------>操作error:"
,ex)
return-1
if __name__ ==
'__main__'
: sqlhelps = sqlhelp(
"localhost"
,"sa"
,"123"
,'guiyang_universitytown_new'
) lists =
list()
,[('5201412032090000000165'
,none
,106.579311
,26.414393
,'3dml_dt\g48h077147b_dt'
,none),
('5201612032090000000165'
,none
,106.579311
,26.414393
,'3dml_dt\g48h077147b_dt'
,none)]
))'delete from t_model where code=%s and villagecode=%s',(
'5201612032090000000165'
,none))
) n = sqlhelps.transaction_sql(lists)
print
("複雜事務sql測試---------\n"
,n)
請求介面幫助類封裝
情況描述 在專案中,我們做介面的同時,也會有需求需要訪問別人的介面,如下是封裝的幫助類 示例 呼叫其他專案的介面幫助類 建立post方式的http請求 請求的url 隨同請求post的引數名稱及引數值字典 請求的超時時間 請求的客戶端瀏覽器資訊,可以為空 傳送http請求時所用的編碼 隨同http請...
C 操作MongoDB的幫助類 簡單封裝
好了,不多說,直接把dll和 記下來,以便以後直接使用。c 版的mongodb驅動是用官方提供的mongo csharp driver 引用 mongodb.driver.dll,mongodb.bson.dll 具體 部分 mongodb幫助類 public class mongodbhelper...
C 公共幫助類 Image幫助類
大家知道,開發專案除了資料訪問層很重要外,就是common了,這裡就提供了強大且實用的工具。c 公共幫助類 convert幫助類 image類 using system using system.collections.generic using system.text using system.i...