在asp页面添加新的信息的时候,有时候由于填写的表单不完整,在sql表的字段里出现null值,这样在页面调用的时候,就出现意外。
想问一下,有没有好的办法解决这个问题?

解决方案 »

  1.   

    isnull(col,'xxx') 用xxx替换null
      

  2.   

    1、可以再ASP表单进行限制
    2、可以再数据库设置非空或者给缺省值
      

  3.   

    1.楼主可以利用ASP对表单的选项进行限制
      页面调用的时候用 isnull(col,'xxx') 用xxx替换null
    2.给表中字段设置缺省值
      

  4.   

    感谢楼上各位。缺省值是否能设置空值?
    有时候发现,提交数据后,有的字段是空值,不是null。没闹明白是怎么回事。
      

  5.   

    DECLARE @T TABLE(ID INT ,NAME VARCHAR(10) DEFAULT '')
    INSERT @T(ID) SELECT 1
    INSERT @T SELECT 2,'TEST'
    SELECT * FROM @T
    /*ID          NAME
    ----------- ----------
    1           
    2           TEST(2 行受影响)
    */
      

  6.   

    NULL及空格你要区分出来说?
    到底是?
      

  7.   


    时间可以设默认值当前日期:getdate()
    数字类型的可以设默认值:0
      

  8.   


    create table test(col1 int,col2 datetime default(getdate()),col3 int default(0))
    go
    insert test(col1) select 1
    select  * from test
    drop table test
    /*
    col1        col2                                                   col3        
    ----------- ------------------------------------------------------ ----------- 
    1           2009-06-01 21:18:16.930                                0(所影响的行数为 1 行)
    */
      

  9.   

    创建表的直接用
    default
    详见12楼的
      

  10.   


    --基于字符串的CREATE TABLE Persons
    (
    Id_P int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Address varchar(255),
    City varchar(255) DEFAULT 'Sandnes'--'aa'或者'bb'你直接默认的值
    )
    --基于时间
    CREATE TABLE Orders
    (
    Id_O int NOT NULL,
    OrderNo int NOT NULL,
    Id_P int,
    OrderDate date DEFAULT GETDATE()
    )