PowerDesigner导出SQL脚本,User变成[User]和"User"

空心兜兜 2009-05-16 06:10:46
这两天做东西被一个问题折腾的要疯了,找了半天,发现是列名问题

不知道是不是我的命名不符合
两个表中都有User列,用BS程序对数据进行更新时,怎么也不成功

UpdateCommand="update Admin set Pas=@Pas,Name=@Name,Depart=@Depart  where User=@User"


检查后才发现,数据库中,User列成了[User]
检查SQL脚本,两个表的标本中都是"User",而我的模型中,Code值都是User



不知道这个问题,到底是什么原因?
猜测如下:
1.User属于数据库系统的保留字?
2.多个表中有同样列名,所以加了标记?(这个似乎不符合逻辑,两个User都变了)



...全文
559 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
you_tube 2009-05-16
  • 打赏
  • 举报
回复
PowerDesigner
把架构名换下
ai_li7758521 2009-05-16
  • 打赏
  • 举报
回复
user 是保留字
空心兜兜 2009-05-16
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 lg3605119 的回复:]
User 是系统的保留字,但是2005运行时不报错的,2000的话会有问题,建议最好在列名前加[]
[/Quote]

被PowerDesigner加标记了,就没报错
"User"变成 [User]





[Quote=引用 2 楼 happyflystone 的回复:]
UpdateCommand="update Admin set Pas=@Pas,Name=@Name,Depart=@Depart where [User]=@User"
[/Quote]

现在发现后,就用的这个





[Quote=引用 3 楼 sdhdy 的回复:]
user在SQL SERVER中是关键字,建议你换一下名字,否则在使用的时候,你要这样的:[user],两边都加上[],以示与关键字的区别。
[/Quote]

恩,还是经验少




[Quote=引用 4 楼 mr_hnly 的回复:]

我虽然是搞JAVA的,但以前也用C#搞过C/S的开发,我同意User是数据库SQL SERVER 2000的保留字
所以得这样写:UpdateCommand="update Admin set Pas=@Pas,Name=@Name,Depart=@Depart
where [User]=@User",不知道你自己是怎么认为的.
[/Quote]

恩,是这样
空心兜兜 2009-05-16
  • 打赏
  • 举报
回复
昨天晚上倒腾了多久,今天把代码弄到另一个表操作,发现没问题,这才不得不认真检查数据库


另外,为什么SQL脚本中"User"执行后就成了[User]呢?
也属于一种规则吗?
mr_hnly 2009-05-16
  • 打赏
  • 举报
回复

我虽然是搞JAVA的,但以前也用C#搞过C/S的开发,我同意User是数据库SQL SERVER 2000的保留字
所以得这样写:UpdateCommand="update Admin set Pas=@Pas,Name=@Name,Depart=@Depart
where [User]=@User",不知道你自己是怎么认为的.
sdhdy 2009-05-16
  • 打赏
  • 举报
回复
user在SQL SERVER中是关键字,建议你换一下名字,否则在使用的时候,你要这样的:[user],两边都加上[],以示与关键字的区别。
-狙击手- 2009-05-16
  • 打赏
  • 举报
回复
UpdateCommand="update Admin set Pas=@Pas,Name=@Name,Depart=@Depart where [User]=@User"
lg3605119 2009-05-16
  • 打赏
  • 举报
回复
User 是系统的保留字,但是2005运行时不报错的,2000的话会有问题,建议最好在列名前加[]

27,580

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧