ban*_*daa 6 c# sql visual-studio winforms
@在参数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();
}
Run Code Online (Sandbox Code Playgroud)
与其他人在这里所说的相反,@角色本身并没有做任何事情.您可以添加参数
.AddWithValue("ParaName",value);
Run Code Online (Sandbox Code Playgroud)
要么
.AddWithValue("@ParaName",value);
Run Code Online (Sandbox Code Playgroud)
它们都将匹配@ParamNameDB侧命名的参数.所以这不是必需的.
话虽如此,总是@在参数前面使用这是一个非常标准的做法,因为这正是它在数据库方面的命名方式.