将空字符串从Excel插入SQL(int)
我在Excel中有一个要插入SQL的数据 有些行为空,当我尝试将数据插入SQL时,数据将作为“0”而不是“NULL”插入 数据示例如下:将空字符串从Excel插入SQL(int),sql,vba,Sql,Vba,我在Excel中有一个要插入SQL的数据 有些行为空,当我尝试将数据插入SQL时,数据将作为“0”而不是“NULL”插入 数据示例如下: --------------------------------- Items Total Price --------------------------------- Glue 4 $1 Socks 2 $7 Tumbler
---------------------------------
Items Total Price
---------------------------------
Glue 4 $1
Socks 2 $7
Tumbler $40
Pen 10 $1
Eraser $0.5
---------------------------------
Items(char(50))
Total(int)
Price(float)
是否有人知道如何将空白数据插入为NULL而不是“0”?< /P>
以下是我到目前为止的情况
STRSQL = "INSERT INTO [Stationary].[dbo].[Stocks] ([Items],[Total],[Price])" & _
"VALUES ('" & Range("A" & i) & "','" & Range("B" & i) & "','" & Range("C" & i) & "')"
如果有人能在这方面帮助我,我将不胜感激。请尝试更换
& Range("B" & i) &
与
允许总计(int)列为null根据数据库的风险和值,您可能还希望清理/转义从单元格读取的数据,以避免恶意SQL注入。这应该可以很好地工作。一个小的增强,考虑使用<代码> Value2<代码>代替<代码>值,以防止有人(可能不太可能)的场景破坏了您对该列的格式化。但是,这种增强不是强制性的。@NAJAA BAZILAH:很高兴我能帮上忙!
& IIf(Range("B" & i).value = "", "'Null'", Range("B" & i).value) &