c#+postgresql+npgsql中select id,name,role的问题

jimu8130 2011-05-03 11:03:24
由于原先数据库基于mysql, 后转成postgresql,虽然转中出现一些问题,但是总算解决了,现在面对的就是在原先基于mysql的基础上更新相关的查询语句,比方说用户信息表包含ID,Name,Role,原先在mysql中写“select id,name,role from userinfo"就一切ok,也不用关心字段大小写,可是这句当在asp.net中用npgsql组件连接postgresql执行这个简单的sql就会报错说是column id not exist,请问达人该如何解决了?baidu和google说是加上双引号,但是不知道我即使写成"ID","NAME","ROLE"仍然会报column ** not exist!
...全文
213 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
jimu8130 2011-05-04
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 acmain_chm 的回复:]

检查一下你表中的字段名到底是什么,直接用DESC userinfo 贴出来。
然后在字段名上加上双引号。
[/Quote]
请原谅,我开始都是用的工具而不是命令行工具.我试下看.谢谢
jimu8130 2011-05-04
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 trainee 的回复:]

规则是:不加引号,所有对象名都转化成小写,除非加了引号.

如果你要不关心大小写,建表的时候就不要加引号,一次你加了引号,以后每次都要加
所以你应该是"ID","Name","Role",一个字母都不能差

建议在建表的时候不要加引号, 有些工具会自动给你加上引号,所以建表的时候全部用小写.
[/Quote]
我是利用navicat进行导入导出的,有可能导入的时候自动加了.我重新导入再来看看,我一直以为是因为我用pgsql的关键字作列名导致的.
rucypli 2011-05-04
  • 打赏
  • 举报
回复
打印出来语句在pg里执行看看
ACMAIN_CHM 2011-05-04
  • 打赏
  • 举报
回复
检查一下你表中的字段名到底是什么,直接用DESC userinfo 贴出来。
然后在字段名上加上双引号。
trainee 2011-05-04
  • 打赏
  • 举报
回复
规则是:不加引号,所有对象名都转化成小写,除非加了引号.

如果你要不关心大小写,建表的时候就不要加引号,一次你加了引号,以后每次都要加
所以你应该是"ID","Name","Role",一个字母都不能差

建议在建表的时候不要加引号, 有些工具会自动给你加上引号,所以建表的时候全部用小写.

56,675

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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