找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 3577|回复: 2

[已解决] 读取SQLSERVER2008数据库对比数据的问题

2

主题

6

帖子

6

积分

贫民

积分
6
aliali 发表于 2016-11-12 19:02:51 | 显示全部楼层 |阅读模式
使用python读取SQLSERVER2008数据库然后对比数据,根据数据库中的“文件号”和“发放代码”来判断文件是否发放。根据“文件号”是否有“发放代码”来判断是否发放,比如:文件号20161112001,如果发放了,“发放代码”为“1”,如果没有发放,“发放代码”为“0”,或者为空。

实现:
显示当前共有多少文件号;
显示当前共发放了多少文件号;
显示当前还有多少文件号没有发放;
显示当前没有发放的文件号。

各位大神能否给个参考代码或者帮忙写一下,本人新手,非常感谢!
回复

使用道具 举报

1419

主题

1891

帖子

291

积分

侠客

积分
291

最佳新人热心会员默默耕耘

whydo1 发表于 2016-11-13 16:35:44 | 显示全部楼层
  1. #!/usr/bin/env python
  2. #coding=utf-8
  3. from __future__ import with_statement
  4. from contextlib import closing
  5. import inspect
  6. import pymssql
  7. import uuid
  8. import datetime
  9. #查询操作
  10. with closing(pymssql.connect(host='localhost',user='sa',password='pppp',database='blogs')) as conn :
  11.   cur = conn.cursor()
  12.   #SELECT 长连接查询操作(逐条方式获取数据)
  13.   sql = "select * from pcontent"
  14.   cur.execute(sql)
  15.   for i in range(cur.rowcount):
  16.     print cur.fetchone()
  17.   #SELECT 短链接查询操作(一次查询将所有数据取出)
  18.   sql = "select * from pcontent"
  19.   cur.execute(sql)
  20.   print cur.fetchall()
  21.   #INSERT
  22.   sql = "INSERT INTO pcontent(title)VAlUES(%s)"
  23.   uuidstr = str(uuid.uuid1())
  24.   cur.execute(sql,(uuidstr,))
  25.   conn.commit()
  26.   print cur._result
  27.   #INSERT 获取IDENTITY(在插入一个值,希望获得主键的时候经常用到,很不优雅的方式)
  28.   sql = "INSERT INTO pcontent(title)VAlUES(%s);SELECT @@IDENTITY"
  29.   uuidstr = str(uuid.uuid1())
  30.   cur.execute(sql,(uuidstr,))
  31.   print "arraysite:",cur.arraysize
  32.   print cur._result[1][2][0][0]#不知道具体的做法,目前暂时这样使用
  33.   conn.commit()
  34.   #Update
  35.   vl = '中国'
  36.   sql = 'update pcontent set title = %s where id=1'
  37.   cur.execute(sql,(vl,))
  38.   conn.commit()
  39.   #参数化查询这个是为了避免SQL攻击的
  40.   sql = "select * from pcontent where id=%d"
  41.   cur.execute(sql,(1,))
  42.   print cur.fetchall()
  43.   # 调用存储过程SP_GetALLContent 无参数
  44.   sql = "Exec SP_GetALLContent"
  45.   cur.execute(sql)
  46.   print cur.fetchall()
  47.   # 调用存储过程SP_GetContentByID 有参数的
  48.   sql = "Exec SP_GetContentByID %d"
  49.   cur.execute(sql,(3,))
  50.   print cur.fetchall()
  51.   #调用存储过程SP_AddContent 有output参数的(很不优雅的方式)
  52.   sql = "DECLARE @ID INT;EXEC SP_AddContent 'ddddd',@ID OUTPUT;SELECT @ID"
  53.   cur.execute(sql)
  54.   print cur._result
复制代码
python3.4.4, win10
回复 支持 反对

使用道具 举报

2

主题

6

帖子

6

积分

贫民

积分
6
aliali  楼主| 发表于 2016-11-13 16:40:48 | 显示全部楼层

感谢回复,正在学习
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表