当前位置:编程学习 > C#/ASP.NET >>

还是@的问题?

昨天问了@的为题,知道是使转义符失效.譬如:@"c:\Docs\Source\a.txt" 和 "c:\\Docs\\Source\\a.txt"就是相同的.
可在sql语句中
string inString=@"insert into MonitorSeg(aCol,bCol,cCol,date) values(@aCol,@bCol,@cCol,@date,@time)";

insert之前的@符号有什么意义了,这个语句里又没有"\"斜杆之类的东西,那还用@符号好像就很多余了.我看到很多的sql语句都在前面加了@,很是不解.呵呵,我指的是insert之前的红色的@,大家不要回答sql语句里的@,这个@的意思我知道.先谢谢了.
--------------------编程问答-------------------- 加了这个@,你的sql语句就可以换行显示了
string inString=@"insert into MonitorSeg(aCol,bCol,cCol,date) 
values(@aCol,@bCol,@cCol,@date,@time)"; 
这样就不会出错了 --------------------编程问答-------------------- 如果只是一行的话,加不加这个@都是一样的 --------------------编程问答-------------------- insert into MonitorSeg(aCol,bCol,cCol,date) values(@aCol,@bCol,@cCol,@date,@time)

看了半天,总算有点明白了

这个问题发在SQL Server版的话,估计就很多人知道了

在C#里面 @表示后面的字符串无需转义

在Sql server里面,@是变量的前缀

所以你上面红色的@表示后面无需转义,后面的几个@是SQL SERVER变量的标志 --------------------编程问答-------------------- 一个是c#里面的概念,一个是SQL SERVER里面的概念 --------------------编程问答-------------------- insert之前的@符号有什么意义了,这个语句里又没有"\"斜杆之类的东西,那还用@符号好像就很多余了.我看到很多的sql语句都在前面加了@,很是不解.呵呵,我指的是insert之前的红色的@,大家不要回答sql语句里的@,这个@的意思我知道.先谢谢了. 

insert之前的@一楼说的很清楚了,主要是为了多行写SQL代码用的。加上@后就可以使用多行了。
--------------------编程问答--------------------
引用 1 楼 ojlovecd 的回复:
加了这个@,你的sql语句就可以换行显示了 
string inString=@"insert into MonitorSeg(aCol,bCol,cCol,date) 
values(@aCol,@bCol,@cCol,@date,@time)"; 
这样就不会出错了

正解!!!!!!!!!!!!!! --------------------编程问答-------------------- 哦,原来如此,共同学习,共同进步 --------------------编程问答-------------------- 我把string inString="insert into MonitorSeg(aCol,bCol,cCol,date) 
values(@aCol,@bCol,@cCol,@date)";这个语句写成两行,又不加@,也会出错么?为什么? 
--------------------编程问答--------------------
引用 8 楼 whTan 的回复:
我把string inString="insert into MonitorSeg(aCol,bCol,cCol,date)
values(@aCol,@bCol,@cCol,@date)";这个语句写成两行,又不加@,也会出错么?为什么?

自己试试不就知道了
不加@的话字符串中是不能包括换行符的 --------------------编程问答-------------------- 楼上正解
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,