首页 > 数据库 >金碟k3 使用py 实现对数据库的增删操作

金碟k3 使用py 实现对数据库的增删操作

时间:2024-08-31 14:52:34浏览次数:9  
标签:cursor 数据库 py 金碟 YOUR k3 query id conn

金蝶K/3是一款广泛使用的ERP系统,它支持多种数据库,如Oracle、SQL Server 和 MySQL。为了使用 Python 对金蝶K/3的数据库进行增删操作,我们需要选择合适的数据库驱动来连接数据库,并使用 SQL 语句来执行相应的操作。

以下是一个示例,展示如何使用 Python 对金蝶K/3使用的数据库进行增删操作。这里假设你使用的是 SQL Server 数据库,并且使用 pyodbc 库来连接数据库。

安装必要的库

首先确保安装了 pyodbc 库:

pip install pyodbc

数据库连接

连接数据库之前,需要知道数据库的连接信息,包括服务器地址、数据库名、用户名和密码。下面是一个连接 SQL Server 数据库的示例代码:

import pyodbc

# 数据库连接信息
server = 'YOUR_SERVER_ADDRESS'
database = 'YOUR_DATABASE_NAME'
username = 'YOUR_USERNAME'
password = 'YOUR_PASSWORD'

# 连接字符串
connection_string = (
    r'DRIVER={ODBC Driver 17 for SQL Server};'
    f'SERVER={server};'
    f'DATABASE={database};'
    f'UID={username};'
    f'PWD={password}'
)

# 连接数据库
conn = pyodbc.connect(connection_string)
cursor = conn.cursor()

插入数据

假设你需要向一个名为 Customers 的表中插入一条新记录,表结构如下:

Customers(id INT PRIMARY KEY, name VARCHAR(100), email VARCHAR(100))

插入数据的示例代码如下:

# 插入数据
insert_query = """
INSERT INTO Customers (id, name, email)
VALUES (?, ?, ?)
"""

# 数据
data = (1, '张三', '[email protected]')

# 执行插入操作
cursor.execute(insert_query, data)
conn.commit()  # 提交事务
print("数据插入成功")

删除数据

假设你需要从 Customers 表中删除 ID 为 1 的记录,可以使用以下代码:

# 删除数据
delete_query = """
DELETE FROM Customers
WHERE id = ?
"""

# 数据
data_id = 1

# 执行删除操作
cursor.execute(delete_query, data_id)
conn.commit()  # 提交事务
print("数据删除成功")

完整示例

将上述代码整合起来,形成一个完整的 Python 脚本:

import pyodbc

# 数据库连接信息
server = 'YOUR_SERVER_ADDRESS'
database = 'YOUR_DATABASE_NAME'
username = 'YOUR_USERNAME'
password = 'YOUR_PASSWORD'

# 连接字符串
connection_string = (
    r'DRIVER={ODBC Driver 17 for SQL Server};'
    f'SERVER={server};'
    f'DATABASE={database};'
    f'UID={username};'
    f'PWD={password}'
)

# 连接数据库
conn = pyodbc.connect(connection_string)
cursor = conn.cursor()

# 插入数据
insert_query = """
INSERT INTO Customers (id, name, email)
VALUES (?, ?, ?)
"""

# 数据
data = (1, '张三', '[email protected]')

# 执行插入操作
cursor.execute(insert_query, data)
conn.commit()  # 提交事务
print("数据插入成功")

# 删除数据
delete_query = """
DELETE FROM Customers
WHERE id = ?
"""

# 数据
data_id = 1

# 执行删除操作
cursor.execute(delete_query, data_id)
conn.commit()  # 提交事务
print("数据删除成功")

# 关闭连接
cursor.close()
conn.close()

注意事项

  • 安全性和权限:确保使用正确的用户名和密码,并且具有足够的权限来执行增删操作。
  • 事务管理:在执行数据库操作时,建议使用事务管理,以确保数据的一致性和完整性。
  • 异常处理:在实际开发中,还应该添加异常处理逻辑,以应对可能出现的各种错误情况。

通过上述示例,你可以使用 Python 来对金蝶K/3使用的数据库执行基本的增删操作。如果需要进一步的功能,如查询和更新操作,可以参考类似的方式进行扩展。如果你有其他具体的需求或问题,请告诉我。

标签:cursor,数据库,py,金碟,YOUR,k3,query,id,conn
From: https://blog.51cto.com/ruguworking/11883045

相关文章

  • MacOS 中 python无法正常使用turtle或tkinter 解决方案(备份文章)
    将以前在win机子上写的python文件拿到mac上复习时发现的问题直接运行turtle文件出现了以下报错原文:DEPRECATIONWARNING:ThesystemversionofTkisdeprecatedandmayberemovedinafuturerelease.Pleasedon’trelyonit.SetTK_SILENCE_DEPRECATION=1t......
  • 使用python基于fastapi发布接口(二)-连接mysql数据库查询数据
    上一章在这里操作MySQL数据库使用mysql-connector-python库安装mysql-connector-pythonpipinstallmysql-connector-python代码编写在原来代码基础上添加数据库连接配置fromtypingimportUnionfromfastapiimportFastAPIapp=FastAPI(......
  • [开题报告]flask框架宠物领养系统(程序+论文+python)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着社会的进步和人们生活水平的提高,宠物已逐渐成为现代家庭的重要成员,为人们的生活带来了无尽的欢乐与陪伴。然而,宠物数量的快速增长也带......
  • [开题报告]flask框架春荣公司人事管理系统设计与实现(程序+论文+python)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景在当今快速发展的商业环境中,人力资源管理已成为企业核心竞争力的重要组成部分。随着企业规模的扩大和员工数量的增加,传统的人事管理方式已......
  • python并发与并行(四) ———— 用queue来协调多个线程之间的工作进度
    Python程序如果要同时执行多项任务,而这些任务又分别针对同一种产品的不同环节,那么就有可能得在它们之间进行协调。比较有用的一种协调方式是把函数拼接成管道。这样的管道与生产线比较像。它可以按先后顺序划分成几个阶段,每个阶段都由相应的函数负责。程序会把未经加工的原料放在生......
  • python并发与并行(五.2) ———— 不要在每次fan-out时都新建一批Thread实例
    想在Python里平行地做I/O,首先要考虑的工具当然是线程。但如果真用线程来表示fan-out模式中的执行路径,你就会发现,这样其实有很多问题。我们用上一篇文章的conwaygame的实现来举例说明。我们用线程来解决game_logic函数由于执行I/O而产生的延迟问题。首先,这些线程之间需要锁定功能对......
  • python并发与并行(三) ———— 利用Lock防止多个线程争用同一份数据
    了解到全局解释器锁(GIL)的效果之后,许多Python新手可能觉得没必要继续在代码里使用互斥锁(mutual-exclusionlock,mutex)了。既然GIL让Python线程没办法平行地运行在多个CPU核心上,那是不是就意味着它同时还会自动保护程序里面的数据结构,让我们不需要再加锁了?在列表与字典等结构上面测试......
  • 几个被淘汰的Python库,请不要再用!
    随着Python版本的不断更新,许多旧库逐渐被更现代和高效的库所取代。作为新手程序员,掌握这些新的工具非常重要。在这篇文章中,我们将详细介绍几个不推荐使用的Python库,并提供具体的代码示例及详细注释,以帮助你更好地理解这些概念。1.使用 pathlib 替代 ospathlib为文......
  • python并发与并行(六) ———— 正确的重构代码,以便用Queue做并发
    在前面“python并发与并行(五.2)————不要在每次fan-out时都新建一批Thread实例”里面,大家看到,每次都手工创建一批线程并平行地执行I/O任务是有很多缺点的。这一条要介绍另一种方案,也就是用内置的queue模块里的Queue类实现多线程管道。Queue方案的总思路是:在推进游戏时,不像原来......
  • 基于Python的人脸识别考勤管理系统-计算机毕业设计源码+LW文档
    摘要随着信息技术的迅猛发展,面部识别技术已逐渐成为身份验证领域的研究热点。基于Python的人脸识别考勤管理系统,作为一种新兴的身份验证方式,具有重要的研究意义和应用价值。该系统通过捕捉和分析人脸特征,实现快速、准确的身份验证,解决了传统考勤方式中可能存在的冒用、伪造等问题......