gpt4 book ai didi

mysql - 使用Foxpro将数据插入MYSQL

转载 作者:行者123 更新时间:2023-11-29 13:53:09 26 4
gpt4 key购买 nike

在使用 native 表的 FoxPro 中,我通常在插入新数据时执行此操作。

Sele Table
If Seek(lcIndex)
Update Record
Else
Insert New Record
EndIf

如果我使用 MYSQL 作为我的数据库,最好、最快的方法是什么使用 SPT 在 FoxPro 代码中执行此操作吗?我将更新大量记录。最多 80,000 笔交易。

谢谢,赫伯特

最佳答案

我只会将 Jerry 提供的内容更进一步。当尝试使用 SQL 传递处理任何插入、更新、删除时,可能会遇到基于 SQL 注入(inject)类似原理的可怕调试问题。

如果您的“myValue”字段有单引号、双引号、双连字符(表示注释)怎么办?你会被浇灭的。

参数化您的语句,例如使用 VFP 变量引用,然后使用“?”在您的 sql 语句中限定应使用哪个“值”。 VFP正确通过。这也有助于数据类型,例如在构建“myStatement”时将数字转换为字符串。

另外,在VFP中,您可以使用TEXT/ENDTEXT来简化命令的可读性

lcSomeStringVariable = "My Test Value"
lnANumericValue = 12.34
lnMyIDKey = 389


TEXT to lcSQLCmd NOSHOW PRETEXT 1+2+8
update [YourSchems].[YourTable]
set SomeTextField = ?lcSomeStringVariable,
SomeNumberField = ?lnANumericValue
where
YourPKColumn = ?lnMyIDKey
ENDTEXT

=sqlexec( yourHandle, lcSQLCmd, "localCursor" )

关于mysql - 使用Foxpro将数据插入MYSQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16351090/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com