求助:数据库中字段名是大写,但是在数据窗口中字段标题变为小写

自由之翼Sai 2019-06-17 02:08:16
比如说A表有个 BNO 这样的字段,新建数据窗口d_A关联A表,BNO这个字段在d_A 中就变成了小写的 bno,这是为什么呢,是否可以通过设置某个属性不让其变成小写的呢 ?
...全文
654 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
自由之翼Sai 2019-07-30
  • 打赏
  • 举报
回复
引用 16 楼 zh1303300 的回复:
个人认为开发语言对大小写的严格区分某种程度上本身就是对开发人员习惯的兼容,实际上还不如不区分这个东西,程序在编译的时候强制先转换成大写或者小写。这样程序的维护行我个人觉得会比较高点。
这个大写变小写的问题,客户一直揪着不放担心表里的数据也会有这样的问题,即使做了各种说明都不放心。后来给PB公司发邮件问这是咋回事,人回答说就是这么设计的,表字段里的英语字母不管是全角还是半角大写还是小写,都会变成小写,但是首字母会是大写。用SQL句生成动态数据窗口的时候这个设计还是很麻烦的 :(
zh1303300 2019-07-30
  • 打赏
  • 举报
回复
个人认为开发语言对大小写的严格区分某种程度上本身就是对开发人员习惯的兼容,实际上还不如不区分这个东西,程序在编译的时候强制先转换成大写或者小写。这样程序的维护行我个人觉得会比较高点。
aolixiaox 2019-06-19
  • 打赏
  • 举报
回复
这种同名,本身就是一个不好的习惯,特别是团队开发。 DW操作,创建数据源选的是大写,保存一定会进大写的字段,所以统一用小写是没有问题的。 嵌入SQL语句,注意大小写就可以了。
自由之翼Sai 2019-06-19
  • 打赏
  • 举报
回复
引用 13 楼 aolixiaox 的回复:
你用个小写能正常操作字段,就不用管,只是底层机制变动,早期大多数据库相关都是大小写不敏感的,AAA,和aaa算同一个字段。
嗯嗯,而且有意思的是现在库里同一个用户下有 AAA表 和 aaa 表同时存在,只是大小写区分了,我感觉最后数据可能都会进到 AAA里面去,搞不懂为啥有两个表
aolixiaox 2019-06-19
  • 打赏
  • 举报
回复
你用个小写能正常操作字段,就不用管,只是底层机制变动,早期大多数据库相关都是大小写不敏感的,AAA,和aaa算同一个字段。
自由之翼Sai 2019-06-19
  • 打赏
  • 举报
回复
引用 11 楼 zhgwbzhd 的回复:
这是我的情况,PB9.0.3 (8836) 连接 SQL Server 2012
可能跟版本有关系吧,我用的PB2017 dbname也全是小写了
zhgwbzhd 2019-06-17
  • 打赏
  • 举报
回复
这是我的情况,PB9.0.3 (8836) 连接 SQL Server 2012
aolixiaox 2019-06-17
  • 打赏
  • 举报
回复
你的数据库字符集都不对吧,
自由之翼Sai 2019-06-17
  • 打赏
  • 举报
回复
引用 5 楼 aolixiaox 的回复:
好多ORM数据库模型都是这样处理的,不管数据库大小写默认转大写或小写,但是会标识数据库原字段是大写还是小写。 这样做是有好处的。
我上传的图片看不见,有点奇怪。。。。现象就是DBname那列也全是小写,没有跟库里的字段一致
自由之翼Sai 2019-06-17
  • 打赏
  • 举报
回复
引用 7 楼 自由之翼Sai 的回复:
[quote=引用 5 楼 aolixiaox 的回复:] 好多ORM数据库模型都是这样处理的,不管数据库大小写默认转大写或小写,但是会标识数据库原字段是大写还是小写。 这样做是有好处的。
最后一列里没有标识数据库原字段是大写还是小写,全都是小写了。[/quote]
自由之翼Sai 2019-06-17
  • 打赏
  • 举报
回复
引用 5 楼 aolixiaox 的回复:
好多ORM数据库模型都是这样处理的,不管数据库大小写默认转大写或小写,但是会标识数据库原字段是大写还是小写。 这样做是有好处的。
最后一列里没有标识数据库原字段是大写还是小写,全都是小写了。
aolixiaox 2019-06-17
  • 打赏
  • 举报
回复
刚刚有试,PB9也是一样
aolixiaox 2019-06-17
  • 打赏
  • 举报
回复
好多ORM数据库模型都是这样处理的,不管数据库大小写默认转大写或小写,但是会标识数据库原字段是大写还是小写。 这样做是有好处的。
自由之翼Sai 2019-06-17
  • 打赏
  • 举报
回复
引用 2 楼 zhgwbzhd 的回复:
PB9.0.3 (8836) 连接 SQL Server 2012,数据库内是大些,在PB内也显示大些。
只有这个版本同时是 SQL Server 数据库才会是这个效果吗 ? 不过我现在做的这个项目用的是 PB6 PB2017 ORACLE 数据库
自由之翼Sai 2019-06-17
  • 打赏
  • 举报
回复
引用 1 楼 aolixiaox 的回复:
是会自动转小写,如图dbname是数据库中原来的字段名。 自动转小写是有好处的,这样代码中都写小写,不容易出错,DW连接数据库,发生请求会按照dbname自行转换。
是的,而且我发现只要是英语字母,不管是半角的还是全角的都会转换成小写的。要命的是 PB2017 遇到全角英语字母会变成小写的,但是在PB6环境下遇到全角英语字母会全部变成 大写的,这点我有点想不通,我怀疑是PB6 环境中 全角字母相当于一个汉字所以全部大写,PB2017环境中 全角字母 跟 半角是一样的都占两个字节,所以处理也一样都变成小写的了,我这个解释牵强吗 ?
zhgwbzhd 2019-06-17
  • 打赏
  • 举报
回复
PB9.0.3 (8836) 连接 SQL Server 2012,数据库内是大些,在PB内也显示大些。
aolixiaox 2019-06-17
  • 打赏
  • 举报
回复
是会自动转小写,如图dbname是数据库中原来的字段名。 自动转小写是有好处的,这样代码中都写小写,不容易出错,DW连接数据库,发生请求会按照dbname自行转换。

609

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder DataWindow
社区管理员
  • DataWindow社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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