我有这个问题。 使用Web Developer Express 2010的VB代码
使用来自访问的数据源。
我无法从一个gridview(调用GW)选择和更新...
我需要始终设置用户更新信息的日期。你怎么做的?
我想了几个主意。通过gridview列日期中的所有空值,设置为当前系统日期..不工作4我。
然后使用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:String未被识别为有效的DateTime。
来源错误:
在执行当前Web请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常的起源和位置的信息。
答案 0 :(得分: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 :(得分: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()
。只根据您需要的细节提供一些选项。
答案 2 :(得分: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;
}
我希望这段代码可以帮到你。