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?'至 '字符串'
答案 0 :(得分:0)
我认为错误来自:oid = Convert.ToInt32(as1.oid),?
下次请务必再解释一下。
从我可以收集的内容来看,你的int值可以为null,因此除非使用该值,否则不能强制转换它,否则会产生空指针异常:
oid = Convert.ToInt32(as1.oid.Value),
因此,不要使用as1.oid,而是使用as1.oid.Value。
最好还检查值是否为空:
if(as1.oid.HasValue)