int、decimal类型,如何使之成为null(数据库中的null)

WNASP 2006-03-07 11:19:45
有一个实体对象,有一个类型为decimal
还有一个基类(不能修改),功能是把实体对象拼装SQL语句,提交数据库

现在的问题是想把数字型的字段设为null
通常:insert into tablename(price) values(25.50)
现在:insert into tablename(price) values(null)

问题是:对象.price=null 是错的!怎么办?
...全文
1530 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
真相重于对错 2006-04-05
  • 打赏
  • 举报
回复
usse paramert
SQLSERVER
string strInsert = "insert into tablename(price) values(@value,@value1);
SqlCommand cmd =new SqlCommand( strInsert ,conntion);
cmd.Paramerts.Add( "@value" ... );
cmd.Paramerts["@value"].value = System.DBNull.Value;
@value1 同样
cmd.ExecuteNonQuery()
Dleno 2006-04-05
  • 打赏
  • 举报
回复
你要插入Null值那就说明那个字段允许为Null!
通常:insert into tablename(price) values(25.50)
现在:insert into tablename(price) values(null)
============================
你这样是不行的!
通常:insert into tablename(price,xx) values(25.50,'xxx')
现在:1。insert into tablename(price,xx) values(,'xxx')
2。insert into tablename(xx) values('xxx')
price字段的默认值要么为Null,要么不去设定它的默认值!
Ivony 2006-04-05
  • 打赏
  • 举报
回复
我做设计库设计的时候一般遇到牵涉查询统计的数值型字段时,都不允许插入null,设定默认值0

不错,很多时候null值是完全没必要的。


如果一定要值类型保存空值,1.1下有两个方案:
1、object
2、使用System.Data.SqlTypes命名空间下面的结构。
qf200 2006-04-05
  • 打赏
  • 举报
回复
楼主问题解决了吗?我也认为不能用0来代替NULL,以一个项目为例,通常0表示项目已完成,结果为0;NULL则表示项目为做,无结果。
我想知道有没有解决的办法
Eddie005 2006-03-07
  • 打赏
  • 举报
回复
0和null当然是有不同的意义的,这个所有程序员都明白,但也不一定非要用null来实现它所代表的意义...
Eddie005 2006-03-07
  • 打赏
  • 举报
回复
呵呵~ 数据库里null值的问题就看楼主喜欢了,我的意见仅供参考~

我做设计库设计的时候一般遇到牵涉查询统计的数值型字段时,都不允许插入null,设定默认值0
WNASP 2006-03-07
  • 打赏
  • 举报
回复
大家注意,0是有意义的值,不能和null混淆!
WNASP 2006-03-07
  • 打赏
  • 举报
回复
真遗憾,C#的数字型没有空值!
WNASP 2006-03-07
  • 打赏
  • 举报
回复
我是搂住:
看到“不能”非常的遗憾

但是数据库数据字段为null,我想对于统计影响不会太大,因为聚合函数对null是忽略不计的,当然另一方面也是可以处理的例如用isnull(),或者sum(colum)/count(colum)代替avg()
Eddie005 2006-03-07
  • 打赏
  • 举报
回复
不能~

而且在数据库里给数值类型的字段插入<null>值我认为也不是很恰当的做法,这会给统计查询造成麻烦,该是零时就让它是零吧~

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧