我写字符串如下写法,  string hsta = " SELECT a.classno as 宿舍编号,a.bedno as 床位, " +
                      " b.ha02 as 性别,b.ha03 as 部门,b.ha05 职务 " +
                       " FROM Hostel order by classno,bedno ";
按照C#的规范,结束才用分号; 
所以我改成如下
string hsta = " SELECT a.classno as 宿舍编号,a.bedno as 床位,   
b.ha02 as 性别,b.ha03 as 部门,b.ha05 职务
FROM Hostel order by classno,bedno ";但是却编译不过,不知道为什么

解决方案 »

  1.   

    string hsta = @" SELECT a.classno as 宿舍编号,a.bedno as 床位,   
    b.ha02 as 性别,b.ha03 as 部门,b.ha05 职务
    FROM Hostel order by classno,bedno ";
      

  2.   

    @"c:\aa\bb"
    "c:\\aa\\bb"
    是一个意思 这个@用途就是这里咯
      

  3.   

    要写成一行,string型的赋值,换行不识别
    string hsta = " SELECT a.classno as 宿舍编号,a.bedno as 床位, b.ha02 as 性别,b.ha03 as 部门,b.ha05 职务 FROM Hostel order by classno,bedno ";
      

  4.   

    哥们  看了前面一些人的回答  大概给你解决了如何正确赋值的问题
    "@"字符在C#中的意思就是:取消字符串中的转义作用,忽略转义符。
    如果你不加@而直接按回车键的话,虽然你看不到但是编译的时候会将回车键“\r\n”加入到赋值语句中也就是说你的赋值语句:
    string hsta = " SELECT a.classno as 宿舍编号,a.bedno as 床位, " +
                           " b.ha02 as 性别,b.ha03 as 部门,b.ha05 职务 " +
                            " FROM Hostel order by classno,bedno ";
    经编译后实际变成了:
    string hsta = " SELECT a.classno as 宿舍编号,a.bedno as 床位, " + "\r\n"+
                           " b.ha02 as 性别,b.ha03 as 部门,b.ha05 职务 " + "\r\n"+
                            " FROM Hostel order by classno,bedno ";
    这样为啥错误你就一目了然了吧