还是@的问题?
昨天问了@的为题,知道是使转义符失效.譬如:@"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代码用的。加上@后就可以使用多行了。
--------------------编程问答--------------------
正解!!!!!!!!!!!!!! --------------------编程问答-------------------- 哦,原来如此,共同学习,共同进步 --------------------编程问答-------------------- 我把string inString="insert into MonitorSeg(aCol,bCol,cCol,date)
values(@aCol,@bCol,@cCol,@date)";这个语句写成两行,又不加@,也会出错么?为什么?
--------------------编程问答--------------------
自己试试不就知道了
不加@的话字符串中是不能包括换行符的 --------------------编程问答-------------------- 楼上正解
补充:.NET技术 , C#