1. python 学习、安装教程参照: http://www.runoob.com/python/python-tutorial.html

2. 集成开发环境 JetBrains PyCharm Community Edition 2018.3.4 x64

3. python 连接SQLServer数据库(两种方法)

  1. # -*- coding:utf-8 -*-
    #方法一
    import pymssql
    # server = "192.168.1.76" # 连接服务器地址
    # user = "sa" # 连接帐号
    # password = "sa" # 连接密码
    #
    # with pymssql.connect(server, user, password, "Contract_Dev",charset="utf8") as conn:
    # with conn.cursor(as_dict=True) as cursor: # 数据存放到字典中
    # cursor.execute('SELECT * FROM contract_Statelog WHERE Id=%d',2)
    # for row in cursor:
    # print("Id=%d, contract_StateName=%s" % (row['Id'], row['contract_StateName']))
  2.  
  3. #方法二
  1. class MSSQL:
    def __init__(self,host,user,pwd,db):
    self.host = host
    self.user = user
    self.pwd = pwd
    self.db = db
  2.  
  3. def __GetConnect(self):
    if not self.db:
    raise(NameError,"没有设置数据库信息")
    self.conn = pymssql.connect(host=self.host,user=self.user,password=self.pwd,database=self.db,charset="utf8")
    cur = self.conn.cursor()
    if not cur:
    raise(NameError,"连接数据库失败")
    else:
    return cur
  4.  
  5. def ExecQuery(self,sql):
    cur = self.__GetConnect()
    cur.execute(sql)
    resList = cur.fetchall()
  6.  
  7. #查询完毕后必须关闭连接
    self.conn.close()
    return resList
  8.  
  9. def ExecNonQuery(self,sql):
    cur = self.__GetConnect()
    cur.execute(sql)
    self.conn.commit()
    self.conn.close()
  10.  
  11. def ExecNonQueryInsert(self, sql):
    cur = self.__GetConnect()
    cur.execute(sql)
    returnId=int(cur.lastrowid)
    # print(returnId)
    self.conn.commit()
    self.conn.close()
    return returnId
  12.  
  13. ms = MSSQL(host="192.168.1.76",user="sa",pwd="sa",db="Contract_Dev")
  14.  
  15. # reslist = ms.ExecQuery("select TOP 3 * from S_City")
    # for i in reslist:
    # print (i)
  16.  
  17. newsql2="insert into contract_Statelog(contract_SignedId ,contract_State ,contract_StateName ,CreateTime ,sDesc) values(1,1,'qq','2019-1-1','desc')"
    print (newsql2)
    Id=ms.ExecNonQueryInsert(newsql2.encode('utf-8'))
    print(Id)
  18.  
  19. # newsql="update contract_Statelog set contract_StateName='%s' where id=1"%u'测试'
    # print (newsql)
    # ms.ExecNonQuery(newsql.encode('utf-8'))
  20.  
  21. # newsql="delete from contract_Statelog where id=1"
    # print (newsql)
    # ms.ExecNonQuery(newsql.encode('utf-8'))

  

python学习--python 连接SQLServer数据库(两种方法)的更多相关文章

  1. PHP连接sqlserver的两种方法,向sqlserver2000中写入数据,中文乱码

    项目环境是php5.3.28 项目用的ThinkPHP3.2.3  已经mysql5.5数据库,要和另一个项目对接,需要连接sqlsever2000数据库进行一些操作. 第一种用php自带扩展连接数据 ...

  2. ASP 连接 MySQL 数据库两种方法

    一般都是用myodbc来连接.首先,在系统中安装 Mysql 的ODBC数据库驱动.如安装稳定版本是3.51.下载地址是:http://dev.mysql.com/downloads/connecto ...

  3. Python 中格式化字符串 % 和 format 两种方法之间的区别

    Python2.6引入了 format 格式化字符串的方法,现在格式化字符串有两种方法,就是 % 和 format ,具体这两种方法有什么区别呢?请看以下解析. # 定义一个坐标值 c = (250, ...

  4. ToStringBuilder学习(二):两种方法用法优缺点及一个问题

    研究ApacheCommon源码, 先从一个最简单的开始,即围绕Object类里的toString方法自动化实现的一系列类.         怎么来自动化地实现toString方法, 有两种:反射和手 ...

  5. spring boot 学习10 定义springboot的两种方法

    使用spring boot的两种方法: A:继承spring-boot-starter-parent项目 这种方式很简单,只需要在POM里面添加parent父工程即可. B: 如果你不喜欢继承spri ...

  6. 用python实现九九乘法表输出-两种方法

    2019-08-05 思考过程:九九乘法表需要两层循环,暂且称之为内循环和外循环,因此需要写双层循环来实现. 循环有for和while两种方式. for循环的实现 for i in range(1,1 ...

  7. Java连接MySQL数据库三种方法

    好久没有更新博客了!今天利用周目时学习了一下数据库mysql.介绍一下数据库的三种连接方式! 开发工具:Myeclipse MySQL5.6 MySQL连接驱动:mysql-connector-jav ...

  8. ADO对Excel对象进行连接时的 两种方法区别

    在通过ADO对Excel对象进行连接时(此时Excel则认为是一个数据源),需要配置对Excel数据源对应的连接串,这个连接串中包括了Provider信息(其实类似对数据库进行连接操作时,都需要指定连 ...

  9. python 学习笔记(二)两种方式实现第一个python程序

    在交互模式下: 如果要让Python打印出指定的文字,可以用print语句,然后把希望打印的文字用单引号或者双引号括起来,但不能混用单引号和双引号: >>> print 'hello ...

  10. python学习之组成字符串的两种方式

    第一种就是加法,比如 a ='张三' b = '李四' 那么print c =a+b 例如之前提到的 或者数值转换成字符串的 num  = 100 str(num) 其他参照表格中的转换即可 2.组成 ...

随机推荐

  1. Css Hack 大全(IE6、IE7、IE8、IE9 css hack)

    一.IE6 css hack: 1. *html Selector {} /* Selector 表示 css选择器 下同 */ 2. Selector { _property: value; } / ...

  2. ios 11 12以后下拉刷新不回位的解决方法

    原因:  iOS11弃用了automaticallyAdjustsScrollViewInsets属性,新增contentInsetAdjustmentBehavior来替代它 //解决方案 添加如下 ...

  3. 【extjs6学习笔记】1.1 初始:创建项目

    创建工作空间 sencha generate workspace /path/to/workspace 使用sencha创建应用 sencha -sdk /path/to/sdk generate a ...

  4. POJ 1651 Multiplication Puzzle (区间DP,经典)

    题意: 给出一个序列,共n个正整数,要求将区间[2,n-1]全部删去,只剩下a[1]和a[n],也就是一共需要删除n-2个数字,但是每次只能删除一个数字,且会获得该数字与其旁边两个数字的积的分数,问最 ...

  5. COGS 2794. 爱摔跤的比利海灵顿

    ★☆   输入文件:find_k.in   输出文件:find_k.out   简单对比时间限制:1.4 s   内存限制:128 MB [题目描述] B•海灵顿•雷想要和n个巨人比试摔♂跤,他想先和 ...

  6. MovieReview—Kingsman THE SECRET SERVICE(王牌特工之特工学院)

    Brain Storming         Mr. Valentine's Day see excess human beings as the Earth's virus and try to e ...

  7. Spring归纳

    Spring总结 bean标签的scope属性 scope="singleton",单例模式,默认值 scope="prototype",多例模式 注解元素 @ ...

  8. 有关SQL的一道面试题

    这是一个学生分数表 StudentName            StudySubject           SubjectScore Peter                           ...

  9. C# 数据结构 - 单链表 双链表 环形链表

    链表特点(单链表 双链表) 优点:插入和删除非常快.因为单链表只需要修改Next指向的节点,双链表只需要指向Next和Prev的节点就可以完成插入和删除操作. 缺点:当需要查找某一个节点的时候就需要一 ...

  10. CPL学习笔记(一)

    整型 计算机的内存的基本单位是位(bit),可以将其看作电子开关,可以开,表示1:也可以关表示0. 字节(byte)通常指八位的内存单元. 8bit=1byte=1B; 1KB=1024B; 1M=1 ...