INSERT语句的问题,如何给一个列赋予NULL值啊?

nickypan 2005-03-25 01:58:21
insert into EDU_USER (DEPT_ID) values (@DEPT_ID)。

以上语句,我想根据条件赋予DEPT_ID一个固定值或者是NULL值,但如何赋予NULL值啊?如果直接赋予@DEPT_ID=NULL好像不行啊,DEPT_ID在数据库中的default值可以是NULL的。
...全文
137 点赞 收藏 12
写回复
12 条回复
nickypan 2005年03月25日
up
回复 点赞
fanny_20 2005年03月25日
不明白asp是怎么回事
是不是POSITION_ID1有问题。
回复 点赞
nickypan 2005年03月25日
各位,其实我的情况是这样的:我在asp.net的C#页面中执行一条这样的语句:

String addCmd = "insert into EDU_USER (DEPT_ID, POSITION_ID1) values @DEPT_ID, @POSITION_ID1)";

SqlCommand addCommand = new SqlCommand(addCmd, dbConnection);

addCommand.Parameters.Add(new SqlParameter("@DEPT_ID", SqlDbType.Int, 4));
addCommand.Parameters.Add(new SqlParameter("@POSITION_ID1", SqlDbType.Int, 4));

addCommand.Parameters[0].Value = 部门ID的值;
addCommand.Parameters[1].Value = 岗位ID的值;

在这里我想给addCommand.Parameters[0].Value一个null值,可是不行啊!
系统返回说“需要参数 @DEPT_ID,但未提供该参数”。
我需要根据一些条件来给它一个具体的部门ID,或者是一个null值,但是如何把null值放进去呢?
回复 点赞
yizhixiaozhu 2005年03月25日
IIF
回复 点赞
NewQger 2005年03月25日
insert into EDU_USER (DEPT_ID) values (case when 条件 then @DEPT_ID else null end)。
回复 点赞
talantlee 2005年03月25日
insert into EDU_USER (DEPT_ID) values (@DEPT_ID)
假如,你的其他字段不允許null(not allow null)他會出錯
你用update來試一下
回复 点赞
hyunphone 2005年03月25日
同意 steedhorse(晨星)
回复 点赞
晨星 2005年03月25日
DbNull位于System.Data名字空间中,别忘了using。
回复 点赞
晨星 2005年03月25日
addCommand.Parameters[0].Value = DbNull.Value;
回复 点赞
--可以的
set @DEPT_ID=null
insert into EDU_USER (DEPT_ID) values (@DEPT_ID)
回复 点赞
这个不应该是sql的问题,应该是ado对象的问题,估计它是根据参数值是否为null来判断是否给参数赋值

如果写成存储过程的话,这个好处理(将存储过程的参数默认值设置为null就行了),这样直接写就不知道该如何做了
回复 点赞
lin_now 2005年03月25日
应该可以的!~
回复 点赞
发动态
发帖子
C#
创建于2007-09-28

8.5w+

社区成员

64.0w+

社区内容

.NET技术 C#
社区公告
暂无公告