C# DateTimePicker控件的使用簡介
在C# DateTimePicker控件中很有可能會出現(xiàn)INSERT INTO語句出錯的問題,這是因為對dateTimerPicker1.Value 等的用法不了解的緣故。
本人在做設(shè)計時,要用C# DateTimePicker控件取日期,插入到一個DateTime屬性的ACCESS表的列中,同時要把兩個取值相差得出天數(shù),插入到一個數(shù)據(jù)型列中,但是在編寫過程中總是出錯,我的代碼如下:
- 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("考勤登記失敗!");
- }
但是系統(tǒng)總是提示INSERT INTO語句出錯,無法把一個無限長的數(shù)據(jù)轉(zhuǎn)換成整型.怎么回事呢?
有MESSAGEBOX把instr1的值給顯示了一下,發(fā)現(xiàn)兩個C# dataTimePicker控件相減的值為:天數(shù) 00:00:00 ,怪不得會出錯,于是我的原代碼中的dateTimePicker1.value.Date-dateTimeRicker2.Value.Date改變?yōu)?dateTimePicker2.Value.Date - dateTimePicker1.Value.Date).Substring (0,2),則執(zhí)行成功了!于的我把DateTimePicker的用法總結(jié)如下:
dateTimerPicker1.Value 獲取所選擇的日期/時間
dateTimerPicker1.Text 獲取控件顯示的"XXXX年XX月XX日"
dateTimerPicker1.Value.Date 獲取當(dāng)前控件把選取的短日期
這些都是常用的,其他的屬性可以查看MSDN上面的說明,對了,要獲取兩個日期控件相差的值,也就是兩個日期的相差天數(shù),代碼應(yīng)如下寫:(dateTimePicker2.Value.Date - dateTimePicker1.Value.Date).Substring (0,2)。
這些都是我個人的一些心得,寫出來與大家共享,不足之處望大家批評指正!
【編輯推薦】