2

私はこの問題を抱えています。Web Developer Express 2010 を使用した VB コード

アクセスからのデータソースの使用。選択して更新することはできません... 1 つのグリッドビュー (GW を呼び出す) から、ユーザーが情報を更新する日付を常に設定する必要があります。どうやってそれをしますか?アイデアをいくつか試します。gridview列の日付のすべてのnull値により、現在のシステム日付に設定されます..私は動作しません. 次に、更新プロセスを使用して同じ問題を解決しますDefaultValue="<%= DateTime.Now.ToString() %>"

何かアイデアはありますか?前もって感謝.. BR

`UpdateCommand="UPDATE [partes] SET [ESTATU] = ?,[SCONF] = ?, [SNOTES] = ?, [CONFDAT] = ?, [DCREA] = ?, [ASN] = ?, [ASNDATE] = ? WHERE [ID] = ?">

        <UpdateParameters>
            <asp:Parameter Name="ESTATU" />
            <asp:Parameter Name="SCONF" Type="String" />
            <asp:Parameter Name="SNOTES" Type="String" />
            <asp:Parameter Name="CONFDAT" Type="DateTime" />
            <asp:Parameter Name="DCREA" Type="DateTime" DefaultValue="<%= DateTime.Now.ToString() %>" />
            <asp:Parameter Name="ASN" Type="String" />
            <asp:Parameter Name="ASNDATE" Type="DateTime" />
            <asp:Parameter Name="original_ID" Type="Int32" />
        </UpdateParameters>`

これは「/」アプリケーションのエラー サーバー エラーです。

文字列は有効な DateTime として認識されませんでした。

説明: 現在の Web 要求の実行中に未処理の例外が発生しました。エラーの詳細とコード内のどこでエラーが発生したかについては、スタック トレースを確認してください。

例外の詳細: System.FormatException: 文字列が有効な DateTime として認識されませんでした。

ソース エラー:

現在の Web 要求の実行中に未処理の例外が生成されました。例外の発生元と場所に関する情報は、以下の例外スタック トレースを使用して特定できます。

4

3 に答える 3

0

ソースではなく使用している ObjectDataSource または関連するデータソース コントロールのイベント_Updating(または必要に応じて) に日付値を設定する代わりに試してください。コード サンプルを以下に示しますが、明らかに、コントロール_Insertingに対してこのイベントを生成する必要があります。

Private Sub ObjectDataSource1_Updating(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.ObjectDataSourceMethodEventArgs) Handles ObjectDataSource1.Updating

  'Set Update parameters programmatically before calling wired up Update method:
  e.InputParameters.Item("DCREA") = Convert.ToDateTime(DateTime.Now.ToShortTimeString)

End Sub

DateTime.Now必要に応じて、オブジェクトの「ToShort/Long」などのメソッドを呼び出すことができます。同様に、単に呼び出すこともできNow.ToString()ます。必要な詳細に基づいていくつかのオプションを提供するだけです。

于 2012-05-30T13:24:58.950 に答える
0

問題は文化情報にある場合があります。アプリケーションが DD/MM/YYYY を想定している場合、DateTime.ToString() は MM/DD/YYYY を返す場合があります。私はこれに何度か遭遇しました。例えば

Your application expects 29/05/2012 and
DateTime.Now() returns 05/29/2012 making Month=29 which is invalid

それは私が直面したシナリオの 1 つです

于 2012-05-29T23:08:42.600 に答える