Mei*_*eir 3 .net c# string string-concatenation
我试图弄清楚为什么这个代码在C#中不起作用以及如何解决它.
string first = "hello";
string second = "look at" + first + "me";
Run Code Online (Sandbox Code Playgroud)
有什么建议?
编辑:对不起,我认为我犯的错误是一个简单的新手错误.我想还有更多.这是我的实际代码:
string toolOp = lstToolOpen.SelectedValue.ToString();
string sqlComm = "INSERT INTO ES_TOOL_FACET (esfa_facet, esfa_tool) values (" +
+ toolOp + ", " + cmbFacet.SelectedValue +" ) ";
Run Code Online (Sandbox Code Playgroud)
我得到的错误是:Operator +不能应用于'string'类型的操作数.第3行代码中的toolOp下面有一条红线.
Dar*_*rov 15
你有两个+前toolOp.它应该是:
string sqlComm = "INSERT INTO ES_TOOL_FACET (esfa_facet, esfa_tool) values (" +
toolOp + ", " + cmbFacet.SelectedValue +" ) ";
Run Code Online (Sandbox Code Playgroud)
这就是说我建议你使用参数化查询.请记住,每次+在构造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);
Run Code Online (Sandbox Code Playgroud)
现在您可以安全地防止SQL注入.
结论:永远不要使用+SQL查询.
| 归档时间: |
|
| 查看次数: |
649 次 |
| 最近记录: |