C++调用Python,Python访问C++中的数据

本文探讨了在C++应用中如何使用Python脚本替代数据库存储过程进行数据处理。通过引入IronPython库,实现了C++调用Python并让Python操作C++中的数据。文中还提到了字符集问题以及运行效率的考量,指出虽然创建引擎速度较慢,但后续操作相对高效。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天遇到的麻烦是前两天设计考虑不周详导致的。

在传统的设计思路中,留给后期运行时可以扩展的部分通常交给数据库的存储过程实现。

例如:保存某数据时,对数据的检查。获得某数据时,对数据的格式化等等。

我一开始设计时也是如此考虑的,在设计数据保存表时,考虑了保存、检查、获取记录时可以选择的额外处理:

CREATE TABLE IF NOT EXISTS TCI_TYPE
(
	FCITYPEID	INT	UNSIGNED,
	FCISERIAL	INT	UNSIGNED,
	FCISUBTYPE	INT	UNSIGNED,
	FCIITEMTYPE INT UNSIGNED,
	FEDITABLE	INT	UNSIGNED,
	FDISPLAYTYPE INT UNSIGNED,
	FISNULL		INT UNSIGNED,
	FMINLEN		INT UNSIGNED,
	FMAXLEN		INT UNSIGNED,
	FDISPLAYX	INT UNSIGNED,
	FDISPLAYY	INT UNSIGNED,
	FGETDATA	VARCHAR(255),
	FSETDATA	VARCHAR(255),
	FCHKDATA	VARCHAR(255),
	FCINAME		VARCHAR(255),
	FCITAG		VARCHAR(255),
	FCIREMARK	VARCHAR(255),
	FCIDEFAULT	VARCHAR(255)
) ENGINE=InnoDB;
call sp_dropindex("TCI_TYPE","IND_TCI_TYPEID");
CREATE UNIQUE INDEX IND_TCI_TYPEID ON TCI_TYPE(FCITYPEID,FCISERIAL);

如上表中,FGETDATA,FSETDATA,FCHKDATA,即为获取本记录,设置本记录,检查本记录时所应当做的额外处理。

在最初的设计上,是考虑执行mysql的sp来完成此工作。

比如,如果FGETDATA填写一个sp的名字,这样,获

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值