备注:假如没有找到匹配的记录进行更改,会直接跳过,不会报错的。
######
例子十五:
Win7客户端远程更改记录的脚本:
#coding=utf-8
import pyodbc
def update_record():
global db
db = pyodbc.connect(DRIVER='{SQL Server}',SERVER='192.168.168.133',PORT='1433',DATABASE='data1',UID='zhuohua',PWD='123')
cursor = db.cursor()
Sql_1 = "UPDATE t_1 SET date = '2019-10-10' WHERE name = '李大杰'" #直接更改日期
cursor.execute(Sql_1)
Sql_2 = "UPDATE t_1 SET date = dateadd(YYYY,2,date) WHERE name like '范%'" #字段date加大2年
cursor.execute(Sql_2)
Sql_3 = "UPDATE t_1 SET time = dateadd(HH,-3,time) WHERE name like 'zhuo%'" #字段time减小3小时
cursor.execute(Sql_3)
db.commit() #把执行任务提交到数据库;必须是所有SQL语句都执行成功才会提交
db.close()
def func_main():
try:
update_record()
except Exception as e:
print(f"更改记录失败,原因: {e}")
db.rollback() #如果发生错误就回滚
else:
print("更改记录成功。")
if __name__ == "__main__":
func_main()
脚本运行的结果:
C:\Users\jacky\Desktop>python xx.py
更改记录成功。
C:\Users\jacky\Desktop>
使用Navicat查看库data1的表t_1的表数据: