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

在参数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();
}

解决方法

与其他人在这里所说的相反,@字符本身并没有做任何事情.您可以添加参数
.AddWithValue("ParaName",value);

要么

.AddWithValue("@ParaName",value);

并且它们都将匹配数据库端名为@ParamName的参数.所以这不是必需的.

话虽如此,总是在参数前面使用@是一种非常标准的做法,因为这正是它在数据库方面的命名方式.

相关文章

在要实现单例模式的类当中添加如下代码:实例化的时候:frmC...
1、如果制作圆角窗体,窗体先继承DOTNETBAR的:public parti...
根据网上资料,自己很粗略的实现了一个winform搜索提示,但是...
近期在做DSOFramer这个控件,打算自己弄一个自定义控件来封装...
今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都...
最近在研究WinWordControl这个控件,因为上级要求在系统里,...