C# DateTimePicker控件的使用簡介
在C# DateTimePicker控件中很有可能會出現INSERT INTO語句出錯的問題,這是因為對dateTimerPicker1.Value 等的用法不了解的緣故。
本人在做設計時,要用C# 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的值給顯示了一下,發現兩個C# 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)。
這些都是我個人的一些心得,寫出來與大家共享,不足之處望大家批評指正!
【編輯推薦】