none
DateTimePicker在新增到資料庫發生錯誤。 RRS feed

  • 問題

  • 請問一下:

       (不知道標題如何下.......)

        我用vb 2005 開發windows form的程式,直接從資料來源 設定成 DataGridView   及 詳細資料 ,拖曳到表單中,有一個欄位是日期格式,新增/修改資料都還正常

        但是發現一個問題,這個日期的元件是DateTmePicker,我在新增時,如果不選日期(也就是說,上面的日期是我要的,而不去選),就會發生錯誤說,這個欄位不能存Null的數值。我試著在新增時,給這個元件的值是今天,在輸入時,有看到是有今天的數值進去,但是在儲存時,還是發生一樣的情形。

       好像如果沒有手動去選擇日期的話,在存到資料庫時,就會發生我現在這樣的情形。請問這個要如何解決呢?

      謝謝

    ps:如果有說的不清楚的地方,請見諒。

     

    vs 2005 + winxp + sql server

    • 已移動 璉璉 2010年1月24日 上午 03:37 (從:Visual Studio一般討論區(General))
    2007年6月25日 上午 01:30

解答

  • 因為當value設定成今天時,當沒有選日期時,只會出現像「2007/06/25」的值,

    所以新增時可能要針對這個值作Format的動作

     

    例如:DateTimePicker1.Value.ToString("yyyy/MM/dd/ hh:mmTongue Tieds")

    • 已提議為解答 璉璉 2010年1月24日 上午 03:37
    • 已標示為解答 璉璉 2010年1月24日 上午 03:37
    2007年6月25日 上午 03:15
    版主

所有回覆

  • 因為當value設定成今天時,當沒有選日期時,只會出現像「2007/06/25」的值,

    所以新增時可能要針對這個值作Format的動作

     

    例如:DateTimePicker1.Value.ToString("yyyy/MM/dd/ hh:mmTongue Tieds")

    • 已提議為解答 璉璉 2010年1月24日 上午 03:37
    • 已標示為解答 璉璉 2010年1月24日 上午 03:37
    2007年6月25日 上午 03:15
    版主
  • Hi,

    另外如果是用BindingSource與DataSet來操作時,應該可以在bindingSource的AddingNew事件中(或是將BindingNavigator的AddNewItem取消掉,自行操作新增資料的動作),取得新增的資料列,之後將該欄位的日期資料先設定為今天,這樣應該可以排除您的問題,參考看看。

    2007年6月26日 下午 02:35