zoukankan      html  css  js  c++  java
  • 用C为python3.1封装mysql接口(二)

    此文件为python的,对C模块的再次封装,看了一会语法。开工。。。

    #_oopmysql.py
    #__开头的类成员为私有。其他都为公共的
    import _mytest
    class mysql:
        def __init__(self):#构造函数  创建对象时如此  xxx = mysql()
            self.__sql = _mytest.creat()
            self.affnum = 0 #每次执行sql语句后受影响的行数
            self.rownum = 0 #每次执行sql语句后结果集总行数
            self.colnum = 0 #每次执行sql语句后的每行的总列数
            self.curr_rownum = 0 #当前行数
        def __del__(self):#析构函数,出作用域析构,或者显式调用del
            _mytest.close(self.__sql)
        #主机名/ip  用户名 密码 数据库 端口 unix_flag clientflag
        #连接成功返回True,失败返回False
        def connect(self, host, user, passwd="", db="test", port=3306, unix_flag="", clientflag=0):
            if _mytest.connect(self.__sql, host, user, passwd, db, port, unix_flag, clientflag) == 0:
                return True
            else:
                return False
        #关闭数据库
        def close(self):
            _mytest.close(self.__sql)
        #设置此次连接编码
        #返回布尔值
        def setcode(self, codeing="utf8"):
            self.code = codeing
            if _mytest.setcoding(self.__sql, self.code) == 0:
                return True
            else:
                return False
        #获取此次连接编码
        #返回字符串
        def getcode(self):
            return self.code
        #查询成功返回True,失败返回False
        def query(self, querystr):
            if _mytest.query(self.__sql, querystr) == -1:
                self.affnum = 0
                self.rownum = 0
                self.colnum = 0
                return False
            else:
                self.affnum = _mytest.affects(self.__sql)
                self.rownum = _mytest.rowscount(self.__sql)
                self.colnum = _mytest.colscount(self.__sql)
                return True
        #返回受影响的行数
        #返回整数
        def affnum(self):
            return self.affnum
        #返回错误信息
        #返回字符串
        def error(self):
            return _mytest.error(self.__sql)
        #返回总行数
        #返回整数
        def numrows(self):
            return self.rownum
        #返回总列数
        #返回整数
        def numcols(self):
            return self.colnum
        #返回当前行序号
        #返回整数
        def getrownum(self):
            if self.curr_rownum == -1:
                self.curr_rownum = 0
                return self.curr_rownum
            else:
                return self.curr_rownum
        #装入下一行
        #返回布尔值,
        def nextrow(self):
            self.curr_rownum = _mytest.fetchnextrow(self.__sql) 
            if self.curr_rownum == -1:
                return False
            else:
                return True
        #获取指定字段或下一个字段
        #返回值为字符串
        def nextfield(self, index=None):
            if index == None:
                return _mytest.nextfield(self.__sql, -1)
            else:
                return _mytest.nextfield(self.__sql, index)
        #获取当前列序号
        #返回值为整数
        def getcolnum(self):
            return _mytest.curcolid(self.__sql)
  • 相关阅读:
    WinAPI: GetClassName
    Delphi 常用API 函数
    DELPHI加密字串(异或运算加密)
    delphi中获得进程列表或想要的进程(枚举进程、遍历进程)
    如何把窗体关闭到系统托盘
    让窗体接受拖放, 并获取拖过来的文件信息
    如何获取图片中第一个像素的颜色值?
    android 使用get和post将数据提交到服务器
    android 简单的读写联系人
    android ContentObserver内容观察者基本使用
  • 原文地址:https://www.cnblogs.com/lcinx/p/10570430.html
Copyright © 2011-2022 走看看