Convert特殊类型自己处理类型转换

解决方案 »

  1.   

    lstProducts.Items.Add(oDR["ProductID"].ToString());   这个不是存放的字符串吗 lstProducts.SelectedItem;  那这个里面也是字符串啊 怎么能变成PDSAListItemNumeric 类型呢
      

  2.   

    除非你这么写PDSAListItemNumeric oItem; iItem = new ......lstProducts.Items.Add(oItem);
      

  3.   

    不过上面的代码//PDSAListItemNumeric oItem; 
    这句话已经被注释掉了
      

  4.   

    这样肯定是错的...这个lstProducts一看就是个ListBox,不可能存复杂数据...你只能通过ProductID再次查询数据库来创建一个PDSAListItemNumeric对象...或者用一个Dictionary<string,PDSAListItemNumeric>集合保存查询结果...例...//声明
    Dictionary<string,PDSAListItemNumeric> dicProducts;while (oDR.Read())
    {
    if(oDR["ProductID"]!=null && string.IsNullOrEmpty(oDR["ProductID"].ToString()))//注意...这里要检测空值,否则下面可能会抛异常...
    {
    lstProducts.Items.Add(oDR["ProductID"].ToString());
    ...//在这里创建oItem
    dicProducts.Add(oDR["ProductID"].ToString(),oItem);
    }
    }//获取对象...
    oItem = dicProducts[lstProducts.SelectedItem];
      

  5.   

    if(oDR["ProductID"]!=null && string.IsNullOrEmpty(oDR["ProductID"].ToString()))
    --------------
    if(oDR["ProductID"]!=null && !string.IsNullOrEmpty(oDR["ProductID"].ToString()))更正一下...