我在C#中有一个应用程序,当它的一部分工作是将所有数据从Excel文件插入数据库时。
从Excel获取数据的工作很好,我正在使用存储过程将数据插入数据库的表中。
SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER Procedure [dbo].[sp_Insert] @id int, @brand nvarchar(50), @model nvarchar(50), @prodNumber nvarchar(50), @category nvarchar(50), @local nvarchar(50) AS INSERT INTO Tbl_Registos (ID, Brand, Model, [Product Number], Category, Local) VALUES (@id, @brand, @model, @prodNumber, @category, @local)
这是SP完美运行时的一个示例:
sp_Insert N'1', N'Brand example', N'ABC123', N'123456-7890', N'Laptop', N'18'
当我遇到这样的情况时,问题就来了:
sp_Insert N'1', N'Brand example', N'ABC123', N'123456-7890', N'Laptop', N'Director's floor'
当我'在论证中间提到这个问题时。我以为使用引号[],但是在有整数的情况下,不能将它们放在引号之间。
'
从Excel中获得一行之后,我正在使用循环将参数放入作为查询的字符串中。
您可以在输入的前面加上另一个’来转义’,插入将起作用。您可以执行此操作,也可以解析此类字符的数据并忽略它们。因此,您的带有此转义符的插入语句将是:
sp_Insert N'1', N'Brand example', N'ABC123', N'123456-7890', N'Laptop', N'Director''s floor'