请教各位日期字段绑定的问题? 在C#环境下,现在我有一个SQL数据库,里面有几个日期字段要绑定出来,如果我绑定到DTPicker 控件上时,遇到日期字段是空值,他就会报错,如果绑定到MASKEDTEXTBOX上,掩码设为短日期格式(0000-00-00),则数据库内像2009-7-1这样的数据则显示成了:2009-71- 这样子,各位有没有什么好的办法帮我解决一下,先谢了! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 DateTime.Parse("2009-7-1").ToString("yyyy-MM-dd")再绑定判断是否为DBNull.Value再赋值this.dateTimePicker1.Value = DateTime.ParseExact("", "yyyy-MM-dd ", null); 首先自己定义一个为空时的日期值,由于它不支持空值,那么一般可以将最小可能日期作为空值。然后重写该控件的Value属性,在set操作中判断传入的值是否为null,如果为null,则设置base.Value = base.MinDate 只能这样首先从数据中把日期的格式进行转换 建下面 select convert(varchar(10),getdate(),120)----------2009-11-27然后在C#中直接绑定就行啦 (1)重写DateTimePicker 的 value属性 使其支持空值. (2)绑定DateTimePicker 给出一段代码参考,不过是否对于绑定有效,还需要实际测试。 public class CusDateTimePicker : DateTimePicker { bool isnull = false; public new DateTime? Value { get { if (isnull) return null; else return base.Value; } set { if (value == null) { isnull = true; base.Value = base.MinDate; } else { isnull = false; base.Value = (DateTime)value; } } } } 各位讲的都是,DateTimePicker的,有没有用MASKEDTEXTBOX的方法 用MASKEDTEXTBOX的话,由于数据类型不再是DateTime了,而是String了,那就直接按照#6楼的方式,查询时转换为格式化后的Varchar类型就可以了。 已经搞定了,用的是maskedtextbox,是重写FORMAT事件和parse事件就可以了 C# 局域网即时通信 服务器之间文件复制 C#中GDI+画矩形时候右面和下面的边不显示呢 WEB服务器和文件服务器不在同一个域中,需要加怎样的权限才能访问文件服务器上的文件???? Url连接疑问~ 如果保存Image为jpg文件 C#中怎么控制API播放音乐 c#中有没有像VB.NET中一样功能的 WITH 操作?请速来领分? 请问我这个分页定位的函数正确吗?????!!!!!!!!!! ? CLR JIC 基类库(.dll)加载 ? 关于alphablend问题 WPF imageButton 怎么实现trigger,单击改变button里的image
判断是否为DBNull.Value再赋值this.dateTimePicker1.Value = DateTime.ParseExact("", "yyyy-MM-dd ", null);
base.Value = base.MinDate
只能这样首先从数据中把日期的格式进行转换
建下面
select convert(varchar(10),getdate(),120)
----------
2009-11-27
然后在C#中直接绑定就行啦
(2)绑定DateTimePicker
public class CusDateTimePicker : DateTimePicker
{
bool isnull = false;
public new DateTime? Value
{
get
{
if (isnull)
return null;
else
return base.Value;
}
set
{
if (value == null)
{
isnull = true;
base.Value = base.MinDate;
}
else
{
isnull = false;
base.Value = (DateTime)value;
}
}
}
}