宋现锋ID:dragonking0318
542次访问,排名2万外好友9人,关注者10
dragonking0318的文章
原创 1 篇
翻译 0 篇
转载 1 篇
评论 1 篇
最近评论
forlinux:麻烦,有你这样用的吗?直接用System.TimeSpan结构吧
文章分类
    收藏
      相册
      大学室友
      存档
      软件项目交易
      订阅我的博客
      XML聚合  FeedSky
      订阅到鲜果
      订阅到Google
      订阅到抓虾
      订阅到BlogLines
      订阅到Yahoo
      订阅到GouGou
      订阅到飞鸽
      订阅到Rojo
      订阅到newsgator
      订阅到netvibes

      原创 Visual C#中的DateTimePicker的使用简介收藏

       | 旧一篇: 在Visual C#中访问不同数据库

               在C#中控件是很有好的,但是有一些控件使用起来有一点不方便, DateTimePicker控件用着很方便,但是要根据自己的需要取值还是不那么容易.

              本人在做毕业设计时,要用DateTimePicker控件取日期,插入到一个DateTime属性的ACCESS表的列中,同时要把两个取值相差得出天数,插入到一个数据型列中,但是在编写过程中总是出错,我的代码如下:

       

        string instr1 = "insert into Leave(eNo,eName,LeaveType,StartDay,EndDay,Days) values('" + stNo + "','" + stName + "','" + textBox5.Text + "','" + dateTimePicker1.Value.Date.ToShortDateString() + "','" + dateTimePicker2.Value.Date.ToShortDateString() + "'," + Convert.ToInt32(dateTimePicker2.Value.Date - dateTimePicker1.Value.Date).ToString() + ")";
                          
      string flag1 = DB.insert(instr1);
                          
      if ( flag1 == "1")
                          
      {
                              MessageBox.Show(
      "考勤登记成功!");
                          }

                          
      else
                          
      {
                              MessageBox.Show(
      "考勤登记失败!");
                          }

         但是系统总是提示INSERT INTO语句出错,无法把一个无限长的数据转换成整型.怎么回事呢?

         有MESSAGEBOX把instr1的值给显示了一下,发现两个dataTimePicker相减的值为:天数 00:00:00 ,怪不得会出错,于是我的原代码中的dateTimePicker1.value.Date-dateTimeRicker2.Value.Date改变为(dateTimePicker2.Value.Date - dateTimePicker1.Value.Date).Substring (0,2),则执行成功了!于的我把DateTimePicker的用法总结如下:

      dateTimerPicker1.Value  获取所选择的日期/时间

      dateTimerPicker1.Text  获取控件显示的"XXXX年XX月XX日"

      dateTimerPicker1.Value.Date 获取当前控件把选取的短日期

      这些都是常用的,其他的属性可以查看MSDN上面的说明,对了,要获取两个日期控件相差的值,也就是两个日期的相差天数,代码应如下写:(dateTimePicker2.Value.Date - dateTimePicker1.Value.Date).Substring (0,2)。

      这些都是我个人的一些心得,写出来与大家共享,不足之处望大家批评指正!

      刚刚有一位老兄给我发表评论,令我如提壶灌顶,他的方法确实很好用,在此多谢了!现在总结如下:

       DateTime oldDate = dateTimePicker1.Value.Date ;
                  DateTime newDate = dateTimePicker2.Value.Date ;
                  textBox1.Text = oldDate.ToString();
                  textBox2.Text = newDate.ToString();
                  System.TimeSpan ts = newDate.Subtract(oldDate);
                  textBox3.Text = ts.Days.ToString()+"天";

      便可获得两个dateTimePicker控件的相差的天数,如要获得其他信息,代码如下:

        小时: ts.Hours.ToString() + "时";
            分钟:  ts.Minutes.ToString() + "分";
              秒: ts.Seconds.ToString() + "秒";

      发表于 @ 2008年03月31日 00:09:00|评论(loading...)|编辑

       | 旧一篇: 在Visual C#中访问不同数据库

      评论

      #forlinux 发表于2008-03-31 14:12:39  IP: 116.31.64.*
      麻烦,有你这样用的吗?直接用System.TimeSpan结构吧
      发表评论  


      当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
      Csdn Blog version 3.1a
      Copyright © dragonking0318