gpt4 book ai didi

c# - 使用参数而不是串联的好处

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

我是 ASP.NET 和 C# 编程的新手。

我想知道在 SQL 语句中使用参数而不是连接的区别和优缺点是什么,因为我听说这是防止 SQL 注入(inject)的更好方法(?)

下面是示例 INSERT 语句,我已将其从使用连接更改为参数:

串联:

string sql = string.Format("INSERT INTO [UserData] (Username, Password, ...) VALUES ('" + usernameTB.Text + "', '" + pwTB.Text + "',...);

参数:

cmd.CommandText = "INSERT INTO [UserData] (Username, Password, ...) VALUES (@Username, @Password, ...)";

cmd.Parameters.AddWithValue("Username", usernameTB.Text);
cmd.Parameters.AddWithValue("Password", pwTB.Text);

提前感谢您提供的任何知识。

最佳答案

  • 安全。连接打开了 SQL 注入(inject)的大门,尤其是当 TB 代表文本框时。 (必填XKCD cartoon)
  • 类型安全。您解决了很多日期时间和数字格式问题。
  • 速度。查询不会一直更改,系统可能能够重新使用查询句柄。

关于c# - 使用参数而不是串联的好处,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8412776/

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