首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法将'System.Int32‘类型的对象强制转换为'System.Data.DataRowView’类型

无法将'System.Int32‘类型的对象强制转换为'System.Data.DataRowView’类型
EN

Stack Overflow用户
提问于 2013-07-12 11:27:40
回答 3查看 1.9K关注 0票数 0

我需要从所选项目的数据源中检索"id“,但它总是抛出标题中提到的相同错误。以下是我的代码

代码语言:javascript
复制
        Dim DMV As DataRowView = LbMCat.SelectedValue 'Here occurs the error
    SelectedMainCat = DMV.Item("id") 

    'Filling the SUB Categories part / same code used to fill Main categories
    Dim DataAdapterCats As New MySqlDataAdapter("SELECT * From catS where maincat = '" & SelectedMainCat & "';", MySqlConnection)
    Dim dsSc As New DataSet
    DataAdapterCats.Fill(dsSc, "SubCategories")
    Dim SDataTable As DataTable = dsSc.Tables(0)
    LbSCat.DataSource = SDataTable
    LbSCat.DisplayMember = "title"
    LbSCat.ValueMember = "id"
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-07-12 14:44:25

按如下所示操作

代码语言:javascript
复制
Dim DMV As DataRowView = TryCast(LbMCat.SelectedItem, DataRowView)

If DMV IsNot Nothing Then
    SelectedMainCat = DMV.Item("id")
End If
票数 2
EN

Stack Overflow用户

发布于 2013-07-12 12:47:03

尝试直接转换该值:

(DirectCast(LbmCat.SelectedItem,DataRowView)("ID").ToString())

See it here。这可能会有帮助

票数 0
EN

Stack Overflow用户

发布于 2013-07-12 14:20:21

如果您检查所选值是否不是整数怎么办??

代码语言:javascript
复制
If Not TypeOf (LbMCat.SelectedValue) Is Integer Then
    Dim DMV As DataRowView = LbMCat.SelectedValue 'Here occurs the error
    SelectedMainCat = DMV.Item("id")     
End If
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17607041

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档