gpt4 book ai didi

c# - 撇号导致查询问题

转载 作者:太空宇宙 更新时间:2023-11-03 18:27:25 24 4
gpt4 key购买 nike

当我对一个表的填充执行查询时,我只在两次出现时收到错误。特别是,当名称字段具有如下值时:

K'Ogladbach

现在撇号引起了问题,因为查询将此命令解释为新值,这是错误的。这是我在 SQL 中的查询结构:

string sql = @"insert into Team (name, code, shortName, squadMarketValue, 
crestUrl, link_self, link_fixtures, link_players, caption)
values ('" + item.name + "', '" + item.code + "', '" +
item.shortName + "', '" + item.squadMarketValue + "', '" +
item.crestUrl + "', '" + item._links.self.href + "', '" +
item._links.fixtures.href + "', '" + item._links.players.href + "', '" +
campionato + "')";

如何查看每个新值由 ' value ' 表示,所以如果值中有 "' " 这是一个问题,因为查询无法填充表。希望有解决方案。

最佳答案

使用 SqlParameterized 查询而不是原始 SQL。这将有助于防止 SQL 注入(inject)并提供可靠的解决方案。

SqlCommand command = new SqlCommand("INSERT INTO Team (name) VALUES (@name)", con);

command.Parameters.Add("@name", SqlDbType.NVarChar).Value = item.name;
// Add the rest of the parameters here

command.ExecuteNonQuery(); // Execute the command

关于c# - 撇号导致查询问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31220670/

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