<asp:ObjectDataSource ID="ObjectDataSource1".....>
<InsertParameters>
<asp:Parameter Name="birth" ConvertEmptyStringToNull="true" Type="datetime" />
</InsertParameters>
</asp:ObjectDataSource>
业务逻辑层调用的函数为 public void Yginfo_Insert(object birth, ...)
会出现:无法从“object”转换为“System.DateTime?”的错误.
除非业务逻辑层调用的函数改为:public void Yginfo_Insert(datetime birth, ...),如果这样我就须输入日期,我想让日期为空,不知如何现实,请高手指教!
8 个解决方案
#1
public void Yginfo_Insert(object birth, ...)
在这个方法体里面记得判断。
if(!string.IsnullOrEmpty(birth))
{
datetime dt=dateTime.Parse(birth);
}
else
{
DBnull.value;
}
在这个方法体里面记得判断。
if(!string.IsnullOrEmpty(birth))
{
datetime dt=dateTime.Parse(birth);
}
else
{
DBnull.value;
}
#2
在ObjectDataSource的Inserting事件中进行:
protected void ObjectDataSource1_Inserting(object sender, ObjectDataSourceMethodEventArgs e)
{
DateTime b=DateTime.Now;
object ob=(Object)b;
e.InputParameters["birth"] = ob;
}
protected void ObjectDataSource1_Inserting(object sender, ObjectDataSourceMethodEventArgs e)
{
DateTime b=DateTime.Now;
object ob=(Object)b;
e.InputParameters["birth"] = ob;
}
#3
是不是你提供的日期格式有问题。
#4
(DateTime)object
或null
或null
#5
先判断 再转化
#6
public void Yginfo_Insert(datetime? birth, ...)
#7
我的业务逻辑层调用的函数中用了TableAdapter即
public void Yginfo_Insert( string name,object birth, object dzrq, object ht_stime, ....)
{
yginfoTableAdapters.YGDAAdapter ygobj = new yginfoTableAdapters.YGDAAdapter();
ygobj.Insert( string name,birth, dzrq,ht_stime,...);
}
我想让即使日期为空也能插入数据成功.
如果用 (DateTime)object也不行
public void Yginfo_Insert( string name,object birth, object dzrq, object ht_stime, ....)
{
yginfoTableAdapters.YGDAAdapter ygobj = new yginfoTableAdapters.YGDAAdapter();
ygobj.Insert( string name,birth, dzrq,ht_stime,...);
}
我想让即使日期为空也能插入数据成功.
如果用 (DateTime)object也不行
#8
UP 6F
#1
public void Yginfo_Insert(object birth, ...)
在这个方法体里面记得判断。
if(!string.IsnullOrEmpty(birth))
{
datetime dt=dateTime.Parse(birth);
}
else
{
DBnull.value;
}
在这个方法体里面记得判断。
if(!string.IsnullOrEmpty(birth))
{
datetime dt=dateTime.Parse(birth);
}
else
{
DBnull.value;
}
#2
在ObjectDataSource的Inserting事件中进行:
protected void ObjectDataSource1_Inserting(object sender, ObjectDataSourceMethodEventArgs e)
{
DateTime b=DateTime.Now;
object ob=(Object)b;
e.InputParameters["birth"] = ob;
}
protected void ObjectDataSource1_Inserting(object sender, ObjectDataSourceMethodEventArgs e)
{
DateTime b=DateTime.Now;
object ob=(Object)b;
e.InputParameters["birth"] = ob;
}
#3
是不是你提供的日期格式有问题。
#4
(DateTime)object
或null
或null
#5
先判断 再转化
#6
public void Yginfo_Insert(datetime? birth, ...)
#7
我的业务逻辑层调用的函数中用了TableAdapter即
public void Yginfo_Insert( string name,object birth, object dzrq, object ht_stime, ....)
{
yginfoTableAdapters.YGDAAdapter ygobj = new yginfoTableAdapters.YGDAAdapter();
ygobj.Insert( string name,birth, dzrq,ht_stime,...);
}
我想让即使日期为空也能插入数据成功.
如果用 (DateTime)object也不行
public void Yginfo_Insert( string name,object birth, object dzrq, object ht_stime, ....)
{
yginfoTableAdapters.YGDAAdapter ygobj = new yginfoTableAdapters.YGDAAdapter();
ygobj.Insert( string name,birth, dzrq,ht_stime,...);
}
我想让即使日期为空也能插入数据成功.
如果用 (DateTime)object也不行
#8
UP 6F