English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
データベースに保存された日付がNULLです
プログラムから検出して判断する際に以下のメッセージが表示されます:
解決策:
if ( model.LZ007 != null && model.LZ007 > DateTime.MinValue && model.LZ007 < DateTime.MaxValue ) dateTimePicker1.Value = model.LZ007;
以下は他のユーザーの補足です:
C# Winfromでのdatetimeデータ型の変換問題について、文字列をdatetimeに変換することができませんとエラーメッセージが表示されます
データベースにはdateというフィールドがあり、データ型はdatetimeで、フォーマットは以下の通りです:2013-03-03 :00:00"、Winformプログラムは別のコンピュータにインストールされており、そのコンピュータの日付フォーマットは以下の通りです:2013-03-03 午前 12:00:00"、Winformプログラムには変数があります
string date = Convert.ToString(datareader["date"]);
データベースからそのフィールドを読み出し、listviewitemに保存します1 中、listviewitemユニットから値を抽出します
string date=listView1.SelectedItems[0].SubItems[0].Text;
あるSQL文
delsql = string.Format("delete from fahuobiao where date='{{0}}' and shop='{{1}' and goods='{'}}2}'and product_key='{3}' and number='{4}' and name='{5}' and state='{6}'", Convert.ToDateTime(date), shop, goods, product_key, number, name, state);
このコードを実行すると、エラーが発生します:文字列からdatetimeへの変換に失敗しました。これはおそらく時間形式の問題です(コンピュータの時間形式を変更することで解決しません)。どうかお手伝いいただけますか?ありがとうございます。
解決策:
//データベースからデータを取得する際には: DateTime date=Convert.ToDateTime (datareader["date"]);//DateTime型を使用する //listviewitemにバインドする1のときには以下を使用してください: date.ToString("yyyy-MM-dd"); //sqlを結合する際に: string date=listView1.SelectedItems[0].SubItems[0].Text; この時点でdateを使用すれば十分で、日付形式に変換する必要はありません。
これでwinform dateTimeデータ型の変換に関する知識点がすべてです。今後もナイアラガイドを多くのサポートをお願いします。
声明:本文の内容はインターネットから収集され、著作権者に帰属します。インターネットユーザーが自発的に貢献し、アップロードしたものであり、本サイトは所有権を持ちません。人工編集は行われていません。著作権侵害が疑われる場合は、以下のメールアドレスまでご連絡ください:notice#oldtoolbag.com(メールを送信する際は、#を@に置き換えてください。告発を行い、関連する証拠を提供してください。一旦確認が取れたら、本サイトは即座に侵害する可能性のあるコンテンツを削除します。)