请问大神有知道为什么python连接sqlsql server使用教程返回始终是None呢

       在使用PYTHON访问MSSQL SERVER(2005)时,遇到中文字符无法显示的问题。遍阅网络,都不能成功,无奈自己在试,终于找到了一种方法,希望与有需求的人共享,

加载中,请稍候......

1.连接对象属性 Connection对象的常用属性如下。 ConnectionString属性:返回或设置连接字符串,只能在连接打开前修改属性值。 CommandTimeout属性:在调用连接对象的Execute()方法执行SQL命令时,最长等待时间。超过时间未完成操作,则报错。CommandTimeout属性默认值为15秒,在未打开连接时,可修改属性值。 ConnectionTimeout属性:在调用连接对象的Open()方法打开连接时,最长等待时间,默认为15秒。在未打开连接时,可修改属性值。 CursorLocation属性:设置游标位置,默认值为2,表示使用服务器端游标。属性值设置为3则表示使用客户端游标。使用服务器端游标时,连接可及时将操作反映到数据库,也可及时反映其他用户对数据库的修改,缺点时增加了网络数据流量。使用客户端游标则减少网络数据流量,但对数据库的操作和修改反映有所延迟。如果能确定系统独占使用数据库,使用客户端游标可大大提高程序响应时间和执行效率。CursorLocation属性在连接打开或关闭时,均可修改。 记录集对象的CursorLocation属性可设置游标位置,与连接对象的游标位置类似。 记录集对象的CursorLocation属性的默认值为2,表示使用服务器游标。 属性值为3时表示使用客户端游标。 2.记录集的游标类型 记录集对象的CursorType属性用于设置记录集的游标类似 游标类型决定了访问记录集的方式、是否可修改记录集中的数据以及是否可将记录集的修改返回数据库。 ADO定义了四种游标: 仅向前游标:CursorType属性设置为0(默认值)。除仅允许在记录中向前滚动之外,其行为类似动态游标。 键集游标:Cu

# 也可以使用for循环来迭代查询结果

注意: 例子中查询操作的参数使用的%s而不是’%s’,若参数值是字符串,在执行语句时会自动添加单引号
一个连接一次只能有一个游标的查询处于活跃状态,如下:

为了避免上述的问题可以使用以下两种方式:

创建多个连接来保证多个查询可以并行执行在不同连接的游标上
使用fetchall方法获取到游标查询结果之后再执行下一个查询, 如下:

上述例子中游标获取的查询结果的每一行为元组类型,
可以通过在创建游标时指定as_dict参数来使游标返回字典变量,
字典中的键为数据表的列名

使用with语句(上下文管理器)

可以通过使用with语句来省去显示的调用close方法关闭连接和游标

我要回帖

更多关于 sql server使用教程 的文章

 

随机推荐