首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >AttributeError:“str”对象没有特性“”execute“”

AttributeError:“str”对象没有特性“”execute“”
EN

Stack Overflow用户
提问于 2019-05-20 01:24:20
回答 2查看 1.5K关注 0票数 0

:我想添加一个选项,但是哪里出错了?

代码语言:javascript
复制
conn=sqlite3.connect('tutorial.db')
c=conn.cursor()

def create_table():
  c.execute('CREATE TABLE IF NOT EXISTS test (UNIX REAL, datestamp TEXT, keyword TEXT, value REAL)')

def data_entry(a,b,c,d):
  c.execute("INSERT INTO test VALUES ({}, '{}', '{}', {})".format(a,b,c,d))
  conn.commit()
  c.close()
  conn.close()
#create_table()
data_entry(1,"test","test2",3)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-05-20 01:27:47

def data_entry(a,b,c,d):中有一个局部变量c,它被作为字符串传递,并被用作execute函数,最终执行"test2".execute()

这个问题需要解决。一种解决方法是显式地使用curr作为变量来表示游标。

代码语言:javascript
复制
conn=sqlite3.connect('tutorial.db')
curr=conn.cursor()

def create_table(curr):
  curr.execute('CREATE TABLE IF NOT EXISTS test (UNIX REAL, datestamp TEXT, keyword TEXT, value REAL)')

#curr is the last argument
def data_entry(a,b,c,d, curr):
  curr.execute("INSERT INTO test VALUES ({}, '{}', '{}', {})".format(a,b,c,d))
  conn.commit()
  curr.close()
  conn.close()

#Explicitly passing curr to functions
create_table(curr)
data_entry(1,"test","test2",3, curr)

在将来,请确保将变量命名为简短且具有描述性的名称,如curr,并可能将字符串命名为val_1val_2等。这样,您就可以从名称中了解变量的用途。

这是一个很好的变量命名资源:PEP-8

票数 3
EN

Stack Overflow用户

发布于 2019-05-20 01:29:26

在您的原始代码中,您的本地参数c隐藏了全局游标变量c。您应该将游标和连接作为参数传递:

代码语言:javascript
复制
def create_table(cursor):
    cursor.execute('CREATE TABLE IF NOT EXISTS test (UNIX REAL, datestamp TEXT, keyword TEXT, value REAL)')


def data_entry(cursor, conn, a, b, c, d):
    cursor.execute("INSERT INTO test VALUES ({}, '{}', '{}', {})".format(a, b, c, d))
    conn.commit()
    cursor.close()
    conn.close()


conn = sqlite3.connect('tutorial.db')
cursor = conn.cursor()

create_table(cursor)
data_entry(cursor, conn, 1,"test","test2",3)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56210288

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档