我有这样的东西:
foo { a = 1, b = 2, c = 98,3 }
我动态生成插入查询,所以结束时是这样的:
insert foos(a,b,c) (1, 2, 98,3)
有人知道如何解决这个问题吗?
最佳答案
简单的答案:首先不要使用文本来插入值。使用参数化 SQL 查询。
这不仅限于数字 - 它对于日期和时间也特别重要。从概念上讲,您不是在处理“带逗号的数字”——您是在处理一个数字。 SQL 恰好是我们在数据库和客户端之间传输数据的方式,但是参数化 SQL 允许我们将值保持为值,而无需在两者之间进行无意义且容易出错的文本转换。最后,参数化查询对于在传输文本值时防止 SQL 注入(inject)攻击非常重要。
基本上,将“值”(进入参数)和保留在文本中的“SQL 代码”的概念分开。
只是重新格式化现有的包含值的 SQL,直到它碰巧工作,充其量是一个脆弱的解决方案。
关于c# - 插入具有逗号 (,) 用于 "floating point"的区域性的浮点值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3296922/