用pyodbc创建列 - 不工作

时间:2014-07-31 11:42:15

标签: python sql pyodbc

我有一个成功使用pyodbc库的类 - 它可以从数据库执行各种读取(因此连接和DSN都是hunky dory)。

我正在尝试实现的是从sql数据库中的表中写入和删除列的函数(我能够从中读取的那些)。

我已经使用isql命令测试了调用,我可以看到我的数据库中发生了更改。例如;

SQL> ALTER TABLE DunbarGen ADD testCol float(4)
SQLRowCount returns -1

从终端向表中添加一个新列(这可行)。我有一个代码,我认为应该复制这个命令 - 这不会导致我的课程出错 - 看起来像这样;

    def createColumn(self, columnName, tableName, isFloat, isDateTime, isString):
    if isFloat:
        typeOf = 'float(4)'
    elif isDateTime:
        typeOf = 'datetime2'
    elif isString:
        typeOf = 'text'
    else:
        return False
    self.cursor.execute("ALTER TABLE " + tableName + " ADD " + columnName + " " + typeOf)
    print 'command has executed'

我是否需要在pyodbc类中执行其他操作来完成命令或其他操作?

谢谢!

1 个答案:

答案 0 :(得分:1)

self.cursor.commit()

调用execute函数后。