【发布时间】:2020-05-31 16:18:01
【问题描述】:
我在经典 ASP 中有点“新鲜”,我在经典 ASP 中有以下插入 SQL 查询,我不能让它从 MS Access 数据库中的 CSV 文件中插入逗号分隔值,但它会转换它以点分隔千值。
例如: 价格 = "49,55"
insert_sql = "INSERT INTO table (price) VALUES ('" & price & "')
DataConn.execute(insert_sql)
我尝试将其转换为:
CDbl(price) or FormatNumber(price)
但我得到的毕竟是 4.955,00。
我尝试过更改本地化,但我仍然遇到同样的问题。
P.S.:我知道上面的代码很容易受到 SQL 注入攻击,但现在我正试图了解什么是错误的,或者我忘记了什么。
谢谢。
【问题讨论】:
-
问题出在语言环境上。您可以在 presentation 中使用逗号作为小数分隔符,但不能在代码中使用。内部代码十进制值看起来像 49.55.
-
@AlexKudryashev 我尝试在标头中使用 Session.LCID 更改区域设置,但我仍然遇到同样的问题。
-
确保您生成的 SQL 查询看起来像这样
INSERT INTO table (price) VALUES (49.55) -
@AlexKudryashev 好的,它的工作方式是使用函数 Replace([variable], ",", "."),一切都很好!谢谢!
标签: sql asp.net database ms-access