我想在 Delphi 中使用BDE Paradox制作插入SQL语句,
value_a := 0,123;
value_b := 0,234;
value_c := 0,345;
insert into mst_value values (value_a, value_b, value_c);
调试后显示“invalid SQL parameter”等错误,显示sql完整语法,如
insert into mst_value values (0,123, 0,234, 0,345)
应该是点,但是小数点中有逗号,所以我用formatfloat('#.###
,value_a)格式化,...'它仍然使用逗号,在控制面板上将区域设置更改为英语后,SQL参数是正确的,这是因为那里的货币或数字格式就像123,123,123.00,所以,我怎么能格式化十进制数字,但从另一个国家,如印度尼西亚的格式一样123,123,123,123.00而不是123.123.123,00。谢谢之前...
3条答案
按热度按时间e5nszbig1#
尝试用这种方法,在调用formatFloat函数之前,可以为 Delphi 的变量ThousandsSeparator和DecimalSeparator设置适当的值:
roejwanj2#
如何生成这样字符串?“插入mst_value值(0,123,0,234,0,345)“
这是一个SQL注入,这将允许任何人进入您的程序。
请改用TQuery.Params,并进行严格的数据类型检查。
更多关于这一点的理由请参见http://issuetracker.delphi-jedi.org/view.php?id=5916的评论
3zwtqj6y3#
我同意Arioch的观点。你应该使用参数化查询。这样会让DB引擎为你处理格式,例如: