import pymysql
import logging
# 獲取logger的例項
logger = logging.getlogger("lzjf")
# 指定logger的輸出格式
formatter = logging.formatter('%(asctime)s %(levelname)s %(message)s')
# 檔案日誌,終端日誌
file_handler = logging.filehandler("lzjf.log")
file_handler.setformatter(formatter)
# 設定預設的級別
logger.setlevel(logging.info)
# 把檔案日誌新增到日誌處理器中
logger.addhandler(file_handler)
class dbhelper:
def __init__(self,host="127.0.0.1",user="root",passwd='123456',db='testdb',port=3306,charset="utf8"):
self.host=host
self.user=user
self.port=port
self.passwd=passwd
self.db=db
self.charset=charset
self.conn=none
self.cur=none
def connectdatabase(self):
try:
self.conn=pymysql.connect(host="127.0.0.1",user="root",password="123456",db="testdb",charset=self.charset)
except:
logger.error("connect error")
self.cur=self.conn.cursor()
return true
def createdate(self):
'''建立資料庫
'''self.connectdatabase()
sql="create database if not exists %s default character set = utf8;"%self.db
try:
self.cur.execute(sql)
except:
logger.error("create database error")
return false
return true
def execute(self,sql,params=none):
'''執行一般的語句
'''if self.connectdatabase() == false:
return false
try:
if self.conn and self.cur:
#self.cur.execute("use %s;"%self.db)
self.cur.execute(sql,params)
self.conn.commit()
except:
logger.error("execute"+sql)
logger.error("params",params)
return false
return true
def close(self):
if self.cur:
self.cur.close()
if self.conn:
self.conn.close()
return true
if __name__=="__main__":
dbhelper=dbhelper()
print(dbhelper.connectdatabase())
#dbhelper.createdate()
sql="create table maoyan(id varchar(11),title varchar(50),actor varchar(200),time varchar(100));"
result=dbhelper.execute(sql,none)
if result==true:
print("建立表成功")
else:
print("建立表失敗")
dbhelper.close()
logger.removehandler(file_handler)
自己封裝的乙個 TCP 套接字基類
tcpsocket.h ifndef ctcpsocket h define ctcpsocket h include enum oper type enum send error type define buffer size 4096 class ctcpsocket oper type get...
自己封裝的乙個GridView控制項
效果如圖 使用方法 void viewdidload cgfloat gridview mygridview gridview heightofrow nsinteger row nsinteger numberofgridview mygridview gridview void gridview...
封裝乙個自己的通用Ajax
首先在封裝乙個自己的ajax函式之前,我們需要先知道怎麼實現乙個簡單的ajax請求。這裡我建了兩個檔案,ajax01.html和ajax01.php ajax01.html 點選上面的按鈕,我會變哦 可以看到使用ajax發請求並獲取響應資料只需要簡單的4步 引數說明 xhr.status statu...