想了解一下在JDBC连接数据库,进行表的连接,对NULL值是如何处理的???
有相关资料的也可分享一下!!

解决方案 »

  1.   

    这个要区分不同情况。举一个例子:insert时候,插入了非null栏位为null时候,就会报错。
      

  2.   


    楼主这个问题,跟JDBC无关;表连接时,数据库对NULL值基本只有两种处理:
    1、自然连接,也就是 表A.ID = 表B.ID 时,那么NULL是不进行连接的,也就是直接忽略;
    2、外连接,包括:左外、右外、员外、全外连接,那么对于连接不上的,会直接选取进来。比如左外连接中:表A.ID = 表B.ID
    那么即使是某个 表A.ID取值 在表B.ID中找不到对应值,表A.ID这行数据也会保留下来;反之则不然。
    关于外联结,建议Google下会更清晰些。
      

  3.   

    谢谢你的解答,可能是我没有表述清楚!数据库各种类型空值  ----->   JDBC null     ----->应用表示层null我想知道的是 数据库各种类型空值  ----->   JDBC null 这部分的实现!!知道的话麻烦告知!!
      

  4.   


    知道这个的意义是啥?无非就是些网络数据包和协议的解析,而且不同数据库的数据包协议还不一样,如果十分有兴趣,就去找找Oracle数据库thin驱动的源码吧。如果是自己设计的话,可以想到的有两种:
    1、数据包协议中保留一个标志位,类似于:boolean isNull = true;
    2、数据包协议中有字段取值在数据流的总字节数,当长度为-1时表示该字段取值为NULL。
      

  5.   

    如果lz用的oracle的话可以isnull(column,''),加个过滤
    或者在程序中判断该列值是否为null是的话赋“”值
    页面就不会有‘null’值了
      

  6.   

    就是想了解一下JDBC对数据库中null值得处理,谢谢你的解答!就像你说的两种;
      

  7.   

    你好好看看数据库的知识吧。这个真的跟jdbc没有关系。