查询语句中的引号问题 返回

SqlSugar 处理完成
15 379
该叫什么 发布于2024/7/3
悬赏:0 飞吻

使用Ado.GetDataTable()f方法执行查询语句的时候,为什么有时候模式名称和表名称会带上引号,有时候又不带。这个是什么原因?是什么时候会带什么时候不会带呢?

热忱回答15

  • 这个和你的数据库建的表有关系, 如果是规范表是不需加引号的

    0 回复
  • 比pgsql 全部小写 字段小写 是不需引号的

    比如oracle全部大写字段大写 是不需要引号的

    0 回复
  • 信 VIP0
    2024/7/4

    人大金仓,通过脚本建表的,第一次建表的时候没注意,脚本里的表名没带引号,建好的表都被转成了小写,Ado.GetDataTable()方法执行查询,sql中的模式名和表名本身没带引号,但是传递到数据库的时候被带上了引号,出现了关系不存在的异常。后来我发现了这个问题,修改建表脚本之后,建表的脚本里表名和字段名都带上了引号,建完表之后,还是之前的方法执行,结果sql传递到数据库的时候,sql中的引号又没有了,又报了关系不存在的异常。

    0 回复
  • 信 VIP0
    2024/7/4

    @fate sta

    0 回复
  • @信:人大金仓 全大写是规范

    0 回复
  • 信 VIP0
    2024/7/4

    感谢

    0 回复
  • 信 VIP0
    2024/7/8

    @fate sta:您好老师,我这边的项目数据库是从SQLserver换成人大金仓的,很多使用sql查询的方法需要使用db.Ado.GetDataTable()方法,但是人大金仓的sql中需要给表名和字段名添加引号才能识别,原本的sql是给SQLserver用的,表名和字段名全部都是没有引号的,想问下您这个问题有什么比较好的解决方案吗?(表名和字段名都是从旧的SQLserver中迁移来的,既不符合驼峰标准,也不符合全大写标准。)

    0 回复
  • @信:建大写表就不需要引号

    0 回复
  • 信 VIP0
    2024/7/8

    @fate statd_Project表名都是这样的,没有固定的格式,而且表是从之前的库迁移来的不能改变表名

    0 回复
  • @信:你找金仓问问,能不能取消大小写限制

    0 回复
  • 需要加"xx" 一般是大小写限制。

    0 回复
  • 我这边找金仓问了,一会回复你

    0 回复
  • 人大金仓。。说没这个功能。 只能加""

    0 回复
  • 要么就统一改表,改和create table xxx 默认大小写一样。

    0 回复
  • 信 VIP0
    2024/7/8

    @fate sta:好的  非常感谢

    0 回复