gpt4 book ai didi

c# - c#中的字符串组合

转载 作者:行者123 更新时间:2023-11-30 13:18:03 25 4
gpt4 key购买 nike

我正在尝试找出为什么这段代码在 C# 中不起作用以及如何修复它。

string first = "hello";
string second = "look at" + first + "me";

有什么建议吗?

编辑:抱歉,我认为我犯的错误是一个简单的新手错误。我想还有更多。这是我的实际代码:

 string toolOp = lstToolOpen.SelectedValue.ToString();
string sqlComm = "INSERT INTO ES_TOOL_FACET (esfa_facet, esfa_tool) values (" +
+ toolOp + ", " + cmbFacet.SelectedValue +" ) ";

我得到的错误是:运算符 + 不能应用于“字符串”类型的操作数。第3行代码的toolOp下有一条红线。

最佳答案

toolOp 之前有两个 +。应该是:

string sqlComm = "INSERT INTO ES_TOOL_FACET (esfa_facet, esfa_tool) values (" +
toolOp + ", " + cmbFacet.SelectedValue +" ) ";

话虽如此,我还是建议您使用参数化查询。请记住,每次在构造 SQL 查询时使用 + 运算符都是错误的:

string sqlComm = "INSERT INTO ES_TOOL_FACET (esfa_facet, esfa_tool) VALUES (@esfa_facet, @esfa_tool)";
sqlCommand.Parameters.AddWithValue("@esfa_facet", toolOp);
sqlCommand.Parameters.AddWithValue("@esfa_tool", cmbFacet.SelectedValue);

现在您可以安全地抵御 SQL 注入(inject)了。

结论:永远不要在 SQL 查询中使用 +

关于c# - c#中的字符串组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4552571/

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