asp.net – 在日期字段中插入空值?
|
我有一个FormView,我从一个表(MS Access)中提取数据,然后将其(加上更多数据)插入另一个表.我对日期有疑问. 第一个表有两个日期字段:date_submitted和date_updated.在某些记录中,date_updated为空白.这会导致我在尝试插入第二个表时出现数据不匹配错误. 这可能是因为我将第一个表中的date_updated字段数据绑定到FormView上的HiddenField中.然后它从HiddenField获取值并尝试将其插入第二个表: Dim hfDateRequestUpdated As HiddenField = FormView1.FindControl("hfDateRequestUpdated")
myDateRequestUpdated = hfDateRequestUpdated.Value
'... It then attempts to insert myDateRequestUpdated into the database.
当有值时,它可以工作,但显然你不能在Access中的日期/时间字段中插入任何内容.我想我可以制作第二个插入语句,不插入date_updated(在没有值indate_updated时使用),但这是唯一的方法吗?似乎应该有一个更容易/更少冗余的方式. 编辑: 好的.所以我尝试插入SqlDateTime.Null,Nothing和DBNull.Value. SqlDateTime.Null导致将值1/1/1900插入数据库. “没什么”导致它插入1/1/2001.如果我尝试使用DBNull.Value,它告诉我它不能转换为字符串,所以也许我没有在那里做一些事情.无论如何,我希望如果没有任何内容可以插入,那么Access中的字段将保持空白,但似乎它必须填充一些东西…… 编辑: 我有DBNull.Value工作,它确实插入一个完全空白的值.所以这是我最后的工作代码: Dim hfDateRequestUpdated As HiddenField = FormView1.FindControl("hfDateRequestUpdated")
Dim myDateRequestUpdated = Nothing
If hfDateRequestUpdated.Value = Nothing Then
myDateRequestUpdated = DBNull.Value
Else
myDateRequestUpdated = DateTime.Parse(hfDateRequestUpdated.Value)
End If
感谢大家! 解决方法Sara,你有没有尝试过更新它之前的日期/时间?数据不匹配错误可能来自于您尝试插入数据库的hfDateRequestUpdated.Value与列类型不匹配的事实.尝试单步执行代码并查看该值的类型.如果你发现它是一个字符串(似乎它可能是,因为它来自表单上的字段),那么你需要先检查一下,看看该字段是否为空字符串(VBNullString).如果是这样,您将需要将要插入数据库的值更改为DBNull,您可以使用DBNull.Value在VB.Net中获取该值. 我们无法看到您的代码,因此我们不确切知道您如何将值传入数据库,但它看起来像这样 If theDateValueBeingInserted is Nothing Then
theDateValueBeingInserted = DBNull.Value
EndIf
请记住,只有从HiddenField获得的值是一个字符串,上述测试才有效,我相信它是根据documentation.这可能是你遇到的所有麻烦来自的地方.您隐式将日期/时间值转换为字符串(这很容易),但隐式转换它们并不容易,特别是如果初始值是DBNull 在旁边 我认为Marshall试图建议的是相当于上面的代码,但是在一个名为“三元运算符”的快捷表达式中,在VB.Net中看起来像这样: newValue = IF(oldValue is Nothing ? DBNull.Value : oldValue) 我不推荐它,因为它让新程序员感到困惑,而且语法在2008年从IFF改变了(条件?trueResult:falseResult) (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – 使用JavaScript重新排列的ListBox元素导致回发时
- asp.net – 将单元测试慢慢集成到项目中的步骤
- asp.net-mvc-3 – ASP.NET MVC3 Razor:没有@if或@foreach可
- asp.net-mvc – 基于Route Params的ASP.NET MVC授权
- asp.net-mvc – ASP.NET MVC路由上的拖尾斜杠
- asp.net-mvc-3 – MVC3 AllowHtml属性的问题
- LoginView中的ASP.NET LoginStatus不会触发LoggingOut事件
- asp.net – 关键字不支持:’server’
- ASP.Net Gridview,如何激活基于ID的编辑模式(DataKey)
- asp.net-mvc – ASP.NET MVC的一个路由,两个不同的视图
- asp.net-mvc – 在使用ORM解决方案的ASP.NET MVC
- asp.net-mvc-3 – 如何在Asp.Net Mvc 3中显示自定
- 如何为ASP.NET_SessionId cookie设置HttpOnly?
- asp.net – 使用Booksleeve维护开放的Redis PubS
- asp.net-mvc – ASP.NET MVC强类型部分视图,无法
- 如何在asp.net网站上使用图片资源?
- 使用嵌套类的ASP.NET MVC3 JSON模型绑定
- 为什么每个人都在ASP.NET Webforms中依赖注入是困
- Asp.net会话到期重定向到登录页面
- asp.net-mvc – 获取错误“视图at’/ Views / Pa
