2

我有这个问题。使用 Web Developer Express 2010 的 VB 代码

使用来自访问的数据源。我无法从一个gridview(调用GW)中选择和更新...我需要始终设置用户更新信息的日期。你是怎么做到的?我尝试了几个想法。通过gridview列日期中的所有空值,设置为当前系统日期..不工作4我。然后使用 true 更新过程同样的问题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>`

这是“/”应用程序中的错误服务器错误。

字符串未被识别为有效的日期时间。

说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息:System.FormatException:字符串未被识别为有效的 DateTime。

源错误:

在执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常起源和位置的信息。

4

3 回答 3

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

这是我面临的情况之一

于 2012-05-29T23:08:42.600 回答
0

尝试在_Updating(或_Inserting如果需要)事件中为您正在使用的 ObjectDataSource 或相关数据源控件而不是源设置日期值。下面是一个代码示例,但显然,您需要为您的控件生成此事件:

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

你有两个在gridview上只需要两件事应用事件onupdated行我不知道哪个事件支持vb但我可以在asp.net中告诉你你可以这样做

在 gridView 上应用事件,例如:-

<asp:GridView ID="GridView1" OnRowUpdating="GridView1_Updating"></asp:GridView>

UpdateCommand="UPDATE [Organizations] SET [ModifyDate] = @ModifyDate

<UpdateParameters>

          <asp:Parameter Name="ModifyDate" Type="DateTime" />
          <asp:Parameter Name="Id" Type="Int32" />
</UpdateParameters>


protected void GridView1_Updating(object sender, GridViewUpdateEventArgs e)
    {
        e.NewValues["ModifyDate"] = DateTime.Now;
    }

我希望这段代码对你有所帮助。

于 2014-02-12T17:22:09.133 回答