错误:无法隐式转换类型' int?'到'字符串'

时间:2014-04-25 09:59:35

标签: asp.net c#-4.0

public void selectqueryasso()
{
   CustomerOrderResult cso=new CustomerOrderResult();
   var asso = from as1 in ds.orders
      from as2 in ds.order_details
      where (as1.oid == as2.oid)
      orderby as1.pname
      select new CustomerOrderResult 
      {
         oid = Convert.ToInt32(as1.oid),
         cmny =as1.cmny,
         ocountry=as1.ocountry,
         pname=as1.pname,
         price=as1.price,
         orderno=as1.orderno,
         saltitle=as1.saltitle,
      };
      GridView1.DataSource = asso;
      GridView1.DataBind();
}
  

错误:无法隐式转换类型'int?' 'string'错误:不能   隐式转换类型'int?' 'string'错误:不能隐含   转换类型'int?' 'string'错误:无法隐式转换类型   '诠释? 'string'错误:无法隐式转换类型'int?'至   '字符串'

1 个答案:

答案 0 :(得分:0)

我认为错误来自:oid = Convert.ToInt32(as1.oid),?

下次请务必再解释一下。

从我可以收集的内容来看,你的int值可以为null,因此除非使用该值,否则不能强制转换它,否则会产生空指针异常:

oid = Convert.ToInt32(as1.oid.Value),

因此,不要使用as1.oid,而是使用as1.oid.Value。

最好还检查值是否为空:

if(as1.oid.HasValue)