以下是原语句:
adapter = new SqlDataAdapter(" select students.SNO 学号,students.SNAME 姓名,students.STEL 电话,students.SADDRESS 家庭住址,students.SNOTE 备注信息,sb.LNAME 书名,sb.BORROWING_TIME 借书时间,sb.RETURNED_TIME 还书时间 from students JOIN sb ON students.SNO=sb.SNO AND SNO='" + Form1.sn.Trim() + "'", conn); ;
运行之后提示sql server 列名"SNO"不明确。
一般情况此报错出现于关联查询中,两个表里有同样的列名,但查询时未指明这个列名出自哪张表,比如table1和table2中都有同样sno,并且靠sno关联。
上面的语句报错,此时,由于select后的sno并未指明出处,所以就报错,正确改法:
adapter = new SqlDataAdapter(" select students.SNO 学号,students.SNAME 姓名,students.STEL 电话,students.SADDRESS 家庭住址,students.SNOTE 备注信息,sb.LNAME 书名,sb.BORROWING_TIME 借书时间,sb.RETURNED_TIME 还书时间 from students JOIN sb ON students.SNO=sb.SNO AND students.SNO='" + Form1.sn.Trim() + "'", conn); ;