ASP.net VB Gridview更新了强制转换值

时间:2012-12-19 01:18:49

标签: asp.net-mvc gridview

我有一个带有来自MS Access数据库的数据源的GridView。 它是

  

SELECT * FROM [TODO] ORDER BY [Name]

UPDATE查询

  

更新[TODO] SET [Staff] = CInt(@Staff),[Title] = @Title,[截止日期]   = @Deadline,[Status] = CInt(@Status)WHERE [todoID] = @ID

其中两个返回值是另一个表的外键(整数) - Status和Staff 所以我用DropDownLists替换了两个EditItemTemplates,为它们分配了其他DataSource并将所选索引绑定到外键。

这导致GridView生成此HTML:

<select name="ctl00$ContentPlaceHolder1$GridView1$ctl02$DropDownList1" id="ContentPlaceHolder1_GridView1_DropDownList1_0">
                <option value="1">John Doe</option>
                <option value="2">William Jenkins</option>
                <option value="3">Kate Piper</option>
                <option selected="selected" value="4">Alison Fisher</option>

</select>

这会在更新记录时导致以下ASP.NET错误

  

异常详细信息:System.Data.OleDb.OleDbException:无效的使用   空

我也尝试过不在查询中转换值 - 仍然没有成功,但抛出了另一个错误:

  

从“DBNull”类型转换为“Integer”类型无效。

我是ASP.NET的新手,我的所有经验都基于其他语言。我真的很感激任何帮助

0 个答案:

没有答案