请教前辈一个.Net问题,谢谢了

along_861 2010-11-07 07:52:23
string sql=@"UPDATE User set uname=@uname,upass=@upass";
为什么在sql语句前面带个@这个符号,还有参数的@,他们都各自代表什么意思,起什么作用啊?
...全文
112 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
chen_ya_ping 2010-11-08
  • 打赏
  • 举报
回复
其实比如你在数据库的查询分析器中就会知道
@uname
这样的是表示,、sql的一个变量。
zengjiaqin 2010-11-08
  • 打赏
  • 举报
回复
Parameters.Add在传入参数的时候需要设置参数的数据类型,有些麻烦。
而Parameters.AddWithValue不需要
qimaozhifu 2010-11-08
  • 打赏
  • 举报
回复
不错,学习
along_861 2010-11-08
  • 打赏
  • 举报
回复
我还想请教一下:cmd.Parameters.AddWithValue和cmd.Parameters.Add 它们俩个有什么区别
todayclock 2010-11-07
  • 打赏
  • 举报
回复
你的第一个“@”是没有什么意义的,因为你字符串里面没有要转义的字符;
1.字符串前面加“@”标识忽略转义的符号,这个在Web开发的时候很常用
2.在sql语句里面是参数名称的标识符
fy_study 2010-11-07
  • 打赏
  • 举报
回复
字符串前加@是里面特殊符号不用转义了。
像UPDATE User set uname=@uname,upass=@upass.可以这样写
SqlConnection con = new SqlConnection("数据库连接串");
string sql = "UPDATE User set uname=@uname,upass=@upass";
SqlCommand cmd = new SqlCommand();
cmd.Parameters.AddWithValue("@uname", "helloworld");
cmd.Parameters.AddWithValue("@upass", "helloworld");
con.Open();
cmd.ExecuteNonQuery();
con.Close();
beyond_me21 2010-11-07
  • 打赏
  • 举报
回复

[Quote=引用 1 楼 karascanvas 的回复:]

双引号前面的@,表示取消字符转义

字符串常量内的@表示sql的变量名..
[/Quote]
up
种草德鲁伊 2010-11-07
  • 打赏
  • 举报
回复
双引号前面的@,表示取消字符转义

字符串常量内的@表示sql的变量名..

62,271

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧