我有一种方法可以将数据插入到sq-lite db
中 public long InsertDetails(int Id,String BatchName,double Weight,
double Yield)
{
ContentValues InsertContentValues = AssesmentInsertValues(Id,BatchName,Weight,Yield);
return this.data.insert("tb_LabAssessment", null, InsertContentValues);
}
来自我的主类我将值作为参数传递给上面的函数,在某些情况下我想将权重和yield作为空值传递。
String batchname;
double weight;
double Yield;
dbAdapter.InsertAssesmentDetails(objClsProduct.getId(),batchname,weight,Yield)
我如何在这里将权重和收益的值传递为空。
答案 0 :(得分:6)
您无法将原语传递为null。有两种方法可以做到这一点 - 首先是使函数采用Double-双版的类版本。另一种是传入一些未使用的值,例如-1,表示null。这需要有合理的默认值。
答案 1 :(得分:2)
将方法更改为:
public long InsertDetails(int Id, String BatchName, Double Weight, Double Yield)
其中Double
可以容纳null
,因为它是引用类型。
答案 2 :(得分:1)
double
等基本类型不能为空。您可以发送Double
对象。在这种情况下,方法签名使用Double
而不是double
。然后调用方法如下
dbAdapter.InsertAssesmentDetails(objClsProduct.getId(),batchname,null,null)
答案 3 :(得分:1)
使用您需要的参数引入第二个方法。允许传递NULL需要以某种方式记录。另一种方法使这个过时了,你就完成了。