在Sqlserver中列名不明确的原因

以下是原语句:

 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); ;

也就是,前边加个students.的前缀即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值