python 数据库blob数据操

2023年 8月 12日 52.0k 0

#coding=gbk
from sqlite3 import dbapi2
# -------------------------------
# jxDataSet 对象
# 用于保存 打开数据表的数据
# ------------------------------
class jxDataSet:
    fields = [ ]   # 字段名列表
    data   = [ ]   # 数据表的记录
    sql    = [ ]   # sql 语句
    sERR   = ""    # 打开数据表时的错误信息
                   # 如果为空,表示打开成功
    def __init__ (self ):
        pass
   
    def ok(self):
        return self.sERR==""

    # 一个简单的显示打开结果的函数 disp
    def disp(self):
        if self.sERR!="":
            print("ERROR:",sERR);
            return
        print( "RecordCount=", len(self.data) )
        print( "fields=",self.fields)
        for x in self.data:
            print( x )

# 数据库联接对象
#
class jxconn:
    DB_Name = ""
    def __init__ (self, aDB_name ):
        self.DB_Name = aDB_name

    # 打开 sql 指定的数据表
    # 入口:sql
    # 返回: jxDataSet 对象
    def opensql( self,sql ):
         jxData = jxDataSet()
         jxData.sql = sql
         try:
          conn=dbapi2.connect(self.DB_Name,30)
         except Exception , E:
            jxData.sERR = str(E)
         if jxData.sERR!="":
            return jxData
         try:
            cs  = conn.cursor()
            cs.execute( sql )
            jxData.fields = [ x[0] for x in cs.description ]
            jxData.data = cs.fetchall()
            cs.close()
         except Exception , E:
             jxData.sERR = str(E)
         conn.close()
         del( conn )
         return jxData
    # 执行 sql 语句
    # 入口: sqls
    #        一个字符串列表,每个元素是一条 sql 语句
    #        或者一条 sql 语句
    # 返回:  错误信息
    #        sqls 中所有的 sql语句中,
    #        要么同时执行,要么同时不执行,
    #        已执行部分,如果后面的sql语句出现错误,则一起回滚
    #        
    def runsql( self,sqls ):
          if not (type(sqls) in [ str, list]):
                 return "parameter error"
          if type(sqls)==str:
                 sqls = [ sqls ]
          n = len(sqls)
          if (n

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论