尝试使用python在sqlite3中使用用户定义函数时发生异常

2024-09-27 22:31:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用python2.6.4及其模块sqlite3来实现一个小型数据库项目,我遇到了以下问题:我试图使用一个用户定义的函数,我的意思是,一个在Python中定义的函数,在查询内部使用。这个函数是我在另一个模块中的另一个函数的包装器。问题是,在执行查询时,我总是得到一个AttributeError异常,并显示消息:“内置函数”或“u方法”对象没有属性“execute”,我不知道为什么。代码如下。你能告诉我我做错了什么吗?在

提前谢谢。在

包装器函数:

def SQLAreSimilar(userSelectedName, artistName):
    '''
    Wrapper to the areSimilar function of strUtils to use it directly inside the
    queries. Not to be called directly.
    '''
    if strUtils.areSimilar(userSelectedName, artistName):
        return 1
    else:
        return 0

实际执行查询的函数。注意Connection对象的“create_function”方法的使用。在

^{pr2}$

最后,查询。它位于名为“specificConf”的模块中。所以在上面的函数中正确地使用了它,问题就不存在了。在

SQL_SELECT_ARTIST_SIMILARNAME = u'''
SELECT  CODARTIST, NAME, NUMCD, ARESIMILAR(?, NAME) AS SIMILAR
FROM    ARTIST
WHERE   SIMILAR = 1  
'''

Tags: 模块theto对象方法函数return定义
1条回答
网友
1楼 · 发布于 2024-09-27 22:31:57
cur = con.cursor    # sets `cur` to a method

应该是

^{pr2}$

这就是为什么您得到错误消息说cur没有execute属性:

AttributeError exception with the message: 'builtin_function_or_method' object has no attribute 'execute'

相关问题 更多 >

    热门问题