gpt4 book ai didi

sql - 转账中带破折号的数字不断减

转载 作者:行者123 更新时间:2023-12-03 01:36:48 25 4
gpt4 key购买 nike

我有一个 Excel 工作表,其中的数字格式如下 -

1-123456789

我编写了一些 VBA 来将此数字传输到 SQL 数据库表中,如下所示 -

With Sheets("Sheet1")
conn.Execute "INSERT INTO dbo.A_MyNos ([No])" & _
"VALUES (" & .Cells(1, 1) & ")"
End With

不幸的是,该数字不断以-123456788 的形式插入表中!它似乎是作为减法公式来运行的,我不知道为什么。

有人可以指导我正确的方法来避免这种情况吗?

我还尝试更改单元格格式并在 VBA 中使用 CStr(.Cells...) 但没有成功。

我想我会尝试将单元格作为 3 个单独的字符串输入,然后在 SQL 中将它们连接起来,但这看起来很尴尬。

最佳答案

因为 .Cells(1, 1) 正在 1-123456789

conn.Execute "INSERT INTO dbo.A_MyNos ([No])" & "VALUES (" & .Cells(1, 1) & ")"

评估为

INSERT INTO dbo.A_MyNos ([No]) VALUES (1-123456789)

因此它开始用 SQL 进行计算。

如果您想将其作为字符串插入,则该值应在 "" 内,例如:

INSERT INTO dbo.A_MyNos ([No]) VALUES ("1-123456789")

因此需要在VBA中添加双""

conn.Execute "INSERT INTO dbo.A_MyNos ([No])" & "VALUES (""" & .Cells(1, 1) & """)"

关于sql - 转账中带破折号的数字不断减,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49149776/

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