2016-08-05 15 views
0

SQL Serverにデータを挿入したいのですが、 "dd/mm/yyyy"というデータグリッドビューデータの形式が異なります。 yyyy/mm/dd "なぜ私はどこに更新データを使用することはできません。私のSQL ServerでVB.NET異なる形式の日付を挿入するSQL Server

、データ型はDateあり、そして私のINSERTクエリ

cmd.Parameters.AddWithValue("@Date", Convert.ToDateTime(row.Cells("Date").Value)) 

vb formatで、sql format

+0

形式は、ソフトウェアが人間に日付を表​​示する方法です。 DGV列がDateで、DBフィールドがDateの場合は、単に「DateTime」変数を使用してDBを更新します。 – Plutonix

答えて

0

フォーマットは無関係です。表示形式やテキスト入力をDateTimeに変換するときにDateTimeStringに変換すると、フォーマットは問題になります。あなたのデータベースにバイナリの日付を格納する必要があり、バイナリの日付は数字だけであり、フォーマットはありません。また、バイナリDateTimeの値をグリッドに格納する必要があります。グリッドがどのようにそれらを表示するかは、それらがどのように格納されるかとは無関係です。

あなたは何をすべきですか。 DateTime値の列を持つDataTableを作成します。値はStringではありません。 Fillに電話するときは、手動で行うか、データアダプターを使用させることができます。 DataTableをグリッドにバインドし、アプリケーションに適切な日付を表示するようにグリッド列を設定します。同じデータアダプタ上でUpdateを呼び出して、グリッドに加えられたすべての変更を保存します。コマンドビルダを使用してアクションコマンドを生成することも、自分でアクションコマンドを作成することもできます。いずれにしても、パラメータは自分で設定しませんが、データアダプタはDataTableから値を取得します。 DataTableの「日付」欄から「@Date」パラメータの値を取得するために、データアダプタを伝え

myDataAdapter.InsertCommand.Parameters.Add("@Date", SqlDbType.Date, 0, "Date") 

:手動でコマンドを作成している場合は、パラメータを作成すると、このようになります。

関連する問題