注册 登录
编程论坛 SQL Server论坛

无法绑定由多个部分组成的标识符提示问题

enirilt 发布于 2014-08-03 16:27, 9484 次点击
下边的过程提示错误,如题
use User
go
create proc CheckUserLogin
(@userName varchar(20),
 @userPwd varchar(100)
)
as
set nocount on
select u.userid,u.powerid,p.powerName,p.powerMes
from User u left Join Power P
on u.powerid = p.powerID
Where u.username = @userName
And u.userpwd = @userPwd
And u.userstate = 0
set nocount off
go
下划线部分都显示为红色波浪线,鼠标放下提示如题错误,求救是什么原因?就在用户表User出现这个问题,角色表Power没问题。

[ 本帖最后由 enirilt 于 2014-8-4 09:00 编辑 ]
8 回复
#2
volte2014-08-04 09:57
是不是没有对User表读权限的问题导致的。
#3
enirilt2014-08-04 10:33
我把表名换成Users后存储过程能执行,但错误提示还是有,而且多了,power表相关的字段也有下波浪线了,表明提示“对象名‘Users’无效”郁闷。
#4
enirilt2014-08-04 10:45
USER-20140616CH\Administrator
#5
enirilt2014-08-04 11:04
应该不是用户权限问题,同时建的其他表建存储过程都正常,
#6
volte2014-08-04 14:20
user是SQL自带的关键字表示登录用户
尽量不要占用
#7
volte2014-08-04 14:24
你这个语法感觉乱用。
1,第一句use User; 这里User定义成库了?
2,select u.userid,u.powerid,p.powerName,p.powerMes
from User u left Join Power P  这里 User 又被定义成表了?
3,User是SQL系统本身的关键字;表示登录用户;已经被占用

好好把你的语法和定义名称调整下吧!!!!
#8
enirilt2014-08-04 16:00
哦。我从新建表看看,谢谢!
#9
jichabc2014-08-14 00:05
养成一个好的编程习惯很重要!
如USER 你做是A库 把所有表定义成A_USER 等等
字段的名称也可以按表名头几位为头定义 如 A_USER_USER 或A_U_USER
如果是几个表或都会用到的或有关联的表字段可以用特定的开头 如档案管理中的人员编码或工作号身份证等,可以用Z 或S 为开头 而不用表名 S_GZH
常用的全局变量或局部变量也要有自己的命名规范 P_变量1 等等
还有临时表呀 等等 在程序结果或中间过程中出现或用到的都要有自己的规则!
会让你省很多事 少出问题
个人意见!
 
1