SubSonic3.0使用外连接查询时查询不出数据的问题修改

简介:

 今天在开发时,要使用到外连接查询,如图

  

 

  老是查不出数据,所以就追踪了一下代码,发现查询后生成的SQL语句变成了内连接了,真是晕

  

 

  然后继续Debug,发现原来SqlQuery类在调用LeftInnerJoin函数时传入的Join.JoinType.LeftInner参数,并没有被CreateJoin函数使用上,如下图

  

 

  所以赶快修改为type,见图

  

 

  心想应该可以了吧......继续执行程序,发现还是没有查询出数据来~~~真是郁闷......继续Debug,发现SQL语句还是有问题,见图

  

  语句中多了一个INNER,所以查询直接爆错退出了,继续跟踪Debug,但是找来找去都没有发现在哪里组合语句的,@_@

  认真研究了一下,发现是从Join类的GetJoinTypeValue函数返回连接字符串的,如下图

  

  就尝试修改了一下返回的字串,见图

  

 

  最后执行程序,生成的SQL语句终于正常了

  

 

  这个Bug其实并不是很复杂,只要多使用Debug跟踪,多尝试修改(就算改错了也无所谓),才能找出问题所在

 


    本文转自 AllEmpty 博客园博客,原文链接:http://www.cnblogs.com/EmptyFS/p/3335311.html,如需转载请自行联系原作者






相关文章
|
1月前
|
存储 关系型数据库 索引
10. 在一个非主键字段上创建了索引, 想要根据该字段查询到数据, 需要查询几次 ?
在非主键字段上创建索引,查询数据通常需两次。对于MyISAM,先通过索引找到数据行指针,再获取数据;而InnoDB则先找主键ID,再从主键索引中查找数据。
14 0
|
18天前
|
关系型数据库 MySQL
Mysql语句_查询数据百分比、人员年龄、数据排序、添加查询时的列属性、合并查询结果
Mysql语句_查询数据百分比、人员年龄、数据排序、添加查询时的列属性、合并查询结果
16 0
|
11天前
|
SQL 关系型数据库 MySQL
【MySQL-8】DQL-查询语句全解 [ 基础/条件/分组/排序/分页查询 ](附带代码演示&案例练习)
【MySQL-8】DQL-查询语句全解 [ 基础/条件/分组/排序/分页查询 ](附带代码演示&案例练习)
|
5月前
|
SQL 数据库
SQL标识列实现自动编号的步骤和技巧以及优势
SQL标识列实现自动编号的步骤和技巧以及优势
70 0
|
关系型数据库 MySQL 数据库
MySQL数据库:第十一章:合并查询(联合查询)
MySQL数据库:第十一章:合并查询(联合查询)
|
存储 SQL Java
Mysql数据库表字段设计优化(状态列)
初始状态码(java int 32 long 64),int 可以表示31种(除去0000),long可以表示63种(除去0000),当然不可能将0000赋值给初始状态,一般来讲,选择int还是long是根据具体业务需求来决定的。
404 0
Mysql数据库表字段设计优化(状态列)
|
前端开发 关系型数据库 MySQL
一种解决MySQL多表查询在多个条件下缺少数据集的方法,附带解决查询慢的问题
一种解决MySQL多表查询在多个条件下缺少数据集的方法,附带解决查询慢的问题
179 0
|
关系型数据库 MySQL 索引
Mysql建表3大约束+条件查询、分页语法+难点聚合案例解析
Mysql建表3大约束+条件查询、分页语法+难点聚合案例解析
145 0
|
数据库
【TP5】根据数据库字段注释使用同一模板进行增删查(1)
【TP5】根据数据库字段注释使用同一模板进行增删查
139 0
【TP5】根据数据库字段注释使用同一模板进行增删查(1)
|
数据库
【TP5】根据数据库字段注释使用同一模板进行增删查(2)
【TP5】根据数据库字段注释使用同一模板进行增删查
87 0
【TP5】根据数据库字段注释使用同一模板进行增删查(2)

相关课程

更多