问题描述
在sqlserver2008建表时,有语文列,数据类型为float,建好后,在录入“语文”成绩时整数、小数都能录入,就是空值不能录入(不是NULL),因为有没有考试的“语文”成绩要空着,空着的自动为0,求解???
解决方案
解决方案二:
设置Defaultvalue成0ALTERTABLE[dbo].[Test]ADDCONSTRAINT[DF_Test_English]DEFAULT((0))FOR[English]GO[dbo].[Test]:表名[DF_Test_English]:约束名,你自定定义[English]:列名
解决方案三:
设置默认值为0嘛,空字符串当然不行啦,类型不对应嘛
解决方案四:
各位:我在sqlserver2008里面将该列(语文)的“常规”里面的“默认值或绑定”改为“0”后,还是不能输入空值。错误如下:单元格的值无效。此单元格中更改的值未被识别为有效值。.NetFramework数据类型:Double错误信息:输入字符串的格式不正确。键入适合于此数据类型的值或按esc取消更改。
解决方案五:
解决方案六:
你是要讲缺考的标识出来就好,给个-1不行吗?为什么非得空着?
解决方案七:
不是缺考标示,是语文学科的分数,缺考的语文只能空着,不然其他数据错误。
解决方案八:
如果要空着,可以设置Allownulls为yes。直接空格肯定不行的,SQL中,INT数据类型的存储空间是4个字节。从-2^31(-2,147,483,648)到2^31-1(2,147,483,647)的整型数据(所有数字)。而空格相当于字符,数据类型不对,当然存不进去。最好的做法是用类似-1的标识。
解决方案九:
int类型是不允许插入空格的,空格在sql中是char类型
解决方案十:
你用的啥访问数据库?ado.net还是EF?
解决方案十一:
ado.net我设计表时,有姓名、语文、数学、总分3列,“总分”列的计算规范公式为([语文]+[数学]),当有一科为空时,怎么“总分”不会计算(像李四的),要如何处理,才会计算?姓名语文数学总分张三5050100李四50王五100100200
解决方案十二:
设-1吧然后在asp.net程序中判断,如果是-1就让结果集为空
解决方案十三:
一切的产品mssql也好access也罢都只是一种工具,不要那么死心眼
解决方案十四:
这个总分完全可以在程序里面处理,根本就没有必要设计在数据库中