python连接SQLServer数据库,执行给定的查询SQL语句,并返回查询结果数据

    今天在使用SQL语句做查询任务的时候发现,在数据库中可以直接执行的语句,放在程序中结果却是None,于是乎,就实践了一下,下面是具体的实践。

#!usr/bin/env python
# encoding:utf-8


'''
__Author__:沂水寒城
功能:执行给定的查询SQL语句,并返回查询结果数据
'''


import sys
import pymssql
reload(sys)
sys.setdefaultencoding("utf-8")


#数据库连接配置
config_dict={
            'user':'你的用户名',
            'password':'你的密码',
            'host':'数据库地址IP',
            'database':'数据库名称'
            }


def SQLServer_connect(config_dict):
    '''
    SQLServer 数据库连接
    '''
    connect=pymssql.connect(**config_dict)
    print 'Connect Succesful!!!'
    return connect


def executeSQL(config_dict,one_sql):
    '''
    执行给定的SQL语句
    '''
    rowcount=None
    try:
        connect=SQLServer_connect(config_dict)
        cursor=connect.cursor() 
        cursor.execute(one_sql)
        num=cursor.rownumber
        count=cursor.rowcount
        print 'Cursor Num is: ',num
        print 'Cursor Count is: ',count
        rowcount=cursor.fetchone()[0]
        print 'Total Records Num is: ',rowcount
    except Exception,e:
        print 'executeSQL ERROR: ',e
    finally:
        connect.close()
    return rowcount




if __name__=='__main__':
    one_sql="SELECT COUNT(*) FROM TABLE"
    executeSQL(config_dict,one_sql)
   

结果如下:

Connect Succesful!!!
Cursor Num is:  -1
Cursor Count is:  -1
Total Records Num is:  125789
[Finished in 0.3s]

     之前只是简单地使用游标来取结果,所以得到的就是结果中的前两种结果,后来发现这样并不是真正的结果,这里换了一种计数方式后就可以了,记录一下。

猜你喜欢

转载自blog.csdn.net/Together_CZ/article/details/83014175