python 查询数据库数据 NoneType报错

python调试mysql数据库时,在测试单条查询语句的时候是没有问题的。

执行过程如下:

1、由连接对象conn获取到一个cursor。 cur = conn.cursor()

2、执行sql语句。 count = cur.execute(sql)

3、读取数据。  result = cur.fetchone() #获取一条

4、关闭游标、连接。cur.close() conn.close()

这个查询过程执行一次没有问题,但是多次执行的时候就出现了,NoneType.

或者是 charset = db.character_set_name()

_mysql_exceptions.InterfaceError: (0, ‘‘)

之类的错误。

原因是,定义的conn连接对象是一个全局的变量,当第一次执行完成改查询最后,

执行conn.close()关闭操作,该操作会使得conn连接对象关闭。再次使用改对象时,

则出现如题所示错误。

时间: 2024-10-16 04:50:33

python 查询数据库数据 NoneType报错的相关文章

python 读取数据库,老是报错。

在8.04.4环境下(其实我觉得跟环境无关,是我语句有问题): $ dpkg -l | grep -i python ii  libapache2-mod-python                 3.3.1-2build1               Apache 2 module that embeds Python within th ii  moinmoin-common                       1.5.8-5.1ubuntu2.5          Python

导入导出数据库数据,报错,链接服务器"(null)"的 OLE DB 访问接口 "Microsoft.Jet.OLEDB.4.0" 返回了消息 "未指定的错误"。

在操作数据库中,我们难免会遇到导入和导出数据库中的数据问题,但有时用SQL语句操作时,就会报各种错误,比如下面这种错误. 错误各种找啊,最终解决,现总结原因如下: 1.未开启Ad Hoc Distributed Queries 服务: 开启方式和关闭方式如下: 1 --启用Ad Hoc Distributed Queries: 2 exec sp_configure 'show advanced options',1 3 reconfigure 4 exec sp_configure 'Ad H

利用python将文本文件导入数据库时,报错:Duplicate entry '...' for key 'PRIMARY'

错误原因就是添加了相同的主键,我想了好一会儿,我抓的数据主键是Isbn啊,不可能重的啊,于是,我去数据库中查了以下报错的isbn号,插入的数据中也有,因为分类不一样,所以要再插入一次,这就肯定会报错啦,其中一个处理方法就是, 如果数据库中有这条记录,那么就跳过这条记录,另外,还可以在跳过这条记录的同时,把数据库中这本书的类别改为这两种类别. ans = con.execute("select * from b where isbn=(%s)",isbn)if (ans): contin

好947 Mybatis 配置resultMap 带参数查询Map 注意selectOne数据库返回结果一条数据库 否则会报错

//TMD 写几个demo 还有大站采集 <a target=_blank href="http://hao947.com/" target="_blank">好947</a> 映射配置文件 <!-- type:映射实体类的数据类型 id:resultMap的唯一标识 --> <RESULTMAP id=BaseResultMap type="person"><pre name="c

python查询数据库返回数据

python查询数据库返回数据主要运用到flask框架,pymysql 和 json‘插件’ #!/usr/bin/python # -*- coding: UTF-8 -*- import pymysql import flask,json server=flask.Flask(__name__) @server.route('/index',methods=['get','post']) def create(): db = pymysql.connect("localhost",

oracle数据库常见的报错

 (1)报错 >>> Ignoring required pre-requisite failures. Continuing... Preparing to launch Oracle Universal Installer from /tmp/OraInstall2015-01-21_06-07-35PM. Please wait ...[[email protected] database]$ Exception in thread "main" java.la

高版本-&gt;低版本迁移,低版本客户端连接高版本数据库EXP导出报错EXP-00008,ORA-01455,EXP-00000

生产环境: 源数据库:RHEL + Oracle 11.2.0.3 目标数据库:HP-UX + Oracle 10.2.0.4 需求:迁移部分表  11.2.0.3-->10.2.0.4,若迁移范围内的有些表在目标库已经存在,则替换. 本次迁移数据量<1G. 初定方案:低版本的客户端连接到高版本数据库,用低版本导出,低版本导入. 1.采用初定方案,目标数据库所在服务器连接到源数据库,exp导出过程中报错. ZJCRNOPDB 36: sqlplus -version SQL*Plus: Rel

VC++ 通过ADO连接数据库查询时返回空值报错的解决方案

当数据库的字段值允许为空时, 而且此时内容也为空时,则执行查询会出错,例如 CString str = pRecordset->GetFields()->GetItem((long)0)->GetValue(); 或者 str= pRecordset->GetCollect("posInfo"); 会弹出如下窗口提示出错! 更加奇怪的是  catch(...)也抓不到异常 今天碰着个问题算是头弄大了  最后终于弄好了 报错的原因:   在GetCollct返回了

数据插入报错Incorrect integer value: &#39;&#39; for column

鄙人不才,在操作数据库存储的时候碰见这样的问题.执行sql语句批量插入数据的时候报错 ? Incorrect integer value: '' for column 'zhuticengshu' at row 1 我的数据库表设计十分的简单:说白了,也就是记录下,以后避免这样的错误发生其中id是自增id,其余的字段都是非主键,执行的时候一直报错 Incorrect integer value: '' for column 'zhuticengshu' at row 1 问题测试 首先将后台打印