c# - 参数名前面的@有什么作用?

标签 c# sql winforms visual-studio

@ 符号在 SQL 查询参数前有什么作用?

例如:

using (SqlCommand cmd = new SqlCommand("INSERT INTO [User] values (@Forename, @Surname, @Username, @Password)", con))
{
    cmd.Parameters.AddWithValue("@Forename", txtForename.Text);
    cmd.Parameters.AddWithValue("@Surname", txtSurname.Text);
    cmd.Parameters.AddWithValue("@UserName", txtUsername.Text);
    cmd.Parameters.AddWithValue("@Password", txtPassword.Text);

    cmd.ExecuteNonQuery();
}

最佳答案

这正是表明它查询中的参数名称的原因 - 而不是尝试使用列中的字段。

构造SqlParameter对象时是否严格需要它还不清楚,但我认为保持一致是有意义的:)

关于c# - 参数名前面的@有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15143377/

相关文章:

c# - SqlException 发生在 System.Data.dll 中,但未在用户代码中处理

c# - 在 .NET 中忽略 DST(夏令时)

c# - 使用 SQL 注入(inject)安全的参数插入数据库?

php - 设计这个基本 SQL 表示例的最佳方法是什么?

c# - 基于两点绘制工字梁

c# - 运行编码 UI 时如何解析当前目录

c# - 在 C# 中类型转换

mysql - 填补mysql中重复序列中的空白

c# - 以编程方式从网络接口(interface)发送数据

c# - 计时器在跨线程中不起作用