フォーマットは無関係です。表示形式やテキスト入力をDateTime
に変換するときにDateTime
をString
に変換すると、フォーマットは問題になります。あなたのデータベースにバイナリの日付を格納する必要があり、バイナリの日付は数字だけであり、フォーマットはありません。また、バイナリDateTime
の値をグリッドに格納する必要があります。グリッドがどのようにそれらを表示するかは、それらがどのように格納されるかとは無関係です。
あなたは何をすべきですか。 DateTime
値の列を持つDataTable
を作成します。値はString
ではありません。 Fill
に電話するときは、手動で行うか、データアダプターを使用させることができます。 DataTable
をグリッドにバインドし、アプリケーションに適切な日付を表示するようにグリッド列を設定します。同じデータアダプタ上でUpdate
を呼び出して、グリッドに加えられたすべての変更を保存します。コマンドビルダを使用してアクションコマンドを生成することも、自分でアクションコマンドを作成することもできます。いずれにしても、パラメータは自分で設定しませんが、データアダプタはDataTable
から値を取得します。 DataTable
の「日付」欄から「@Date」パラメータの値を取得するために、データアダプタを伝え
myDataAdapter.InsertCommand.Parameters.Add("@Date", SqlDbType.Date, 0, "Date")
:手動でコマンドを作成している場合は、パラメータを作成すると、このようになります。
形式は、ソフトウェアが人間に日付を表示する方法です。 DGV列がDateで、DBフィールドがDateの場合は、単に「DateTime」変数を使用してDBを更新します。 – Plutonix