日期:2014-05-18  浏览次数:20544 次

严重问题:关于asp.net插入数据的问题
在SQL数据库里我有个列Y是int类型,可以为空。
存储过程为
ALTER   PROCEDURE   dbo.Kankan
(
@KankanID   int
)
as
insert   Users(KankanID)   values   (@KankanID)

在asp.net里面我要怎么样设置参数啊?因为我这个参数要是客户没有填就要为NULL,填了就要为整形int  
现在的问题是NULL是字符传类型,应该怎么弄了?难道要用2个数据层和2个存储过程分别判断为空时候用一个数据层方法和存储过程,为int时候用另一个数据层方法和存储过程?有什么好办法吗

------解决方案--------------------
楼主什么意思?下面语句可以赋空值
int KankanID = System.DBNull.Value;
------解决方案--------------------
ALTER PROCEDURE dbo.Kankan
(
@KankanID int=null
)
as
insert Users(KankanID) values (@KankanID)
------解决方案--------------------
string str=....;
int KankanID;
if(str==null || str= " ")
{
KankanID = System.DBNull.Value;
}
else
{
KankanID=Int32.Parse(str);
}