Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/183.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android-内容值插入重复4次_Android - Fatal编程技术网

Android-内容值插入重复4次

Android-内容值插入重复4次,android,Android,由于某些原因,当我尝试插入多个数据时,每行会有4个重复项。我尝试了cv.clear(),也尝试了cv=newcontentvalues(),但我不知道是什么原因导致它插入了4次。for循环当然只运行两次,它调用db.insert两次。但我认为这与我看不到的内容价值有关 在MainActivity.java中 DBAdapter db = new DBAdapter(this); db.open(); String[] skuArray = { "1234", "4569" }; Str

由于某些原因,当我尝试插入多个数据时,每行会有4个重复项。我尝试了cv.clear(),也尝试了cv=newcontentvalues(),但我不知道是什么原因导致它插入了4次。for循环当然只运行两次,它调用db.insert两次。但我认为这与我看不到的内容价值有关

在MainActivity.java中

DBAdapter db = new DBAdapter(this);
db.open();    

String[] skuArray = { "1234", "4569" };
String[] nameArray = { "Something", "Anything" };
String[] descriptionArray = { "It is something", "It is anything" };
String[] costArray = { "$5.00", "$10.00"};
for (int i = 0; i < skuArray.length; i++) {
    String sku = skuArray[i];
    String name = nameArray[i];
    String description = descriptionArray[i];
    String cost = costArray[i];     
    db.insert(sku, name, description, cost;
} 
DBAdapter.java loadAllItemsQuery()方法

结果:

Count row: 8
Current row position: 0
sku: 1234
Count row: 8
Current row position: 1
sku: 1234
Count row: 8
Current row position: 2
sku: 1234
Count row: 8
Current row position: 3
sku: 1234
Count row: 8
Current row position: 4
sku: 4569
Count row: 8
Current row position: 5
sku: 4569
Count row: 8
Current row position: 6
sku: 4569
Count row: 8
Current row position: 7
sku: 4569

问题可能是您的加入,导致它返回每个sku 4次

试试这个:

String SELECT_ITEM_QUERY = "SELECT DISTINCT " + ITEM_SKU + ", " + ITEM_NAME + ", " + ITEM_DESCRIPTION + ", " + PRICE_COST + " FROM " + ITEM_TABLE + " INNER JOIN " + PRICE_TABLE;

更好的选择:查看查询并更恰当地构建它,而不是选择distinct。还可以尝试打印所有阵列。如果其他字段中的值存在差异,您仍将继续获得超出预期的行检查您的数据是否正常。查询可能是正确的,但数据也可能会导致问题。

价格SKU和
项目SKU
值来自何处?请分享导致问题的原因。
Count row: 8
Current row position: 0
sku: 1234
Count row: 8
Current row position: 1
sku: 1234
Count row: 8
Current row position: 2
sku: 1234
Count row: 8
Current row position: 3
sku: 1234
Count row: 8
Current row position: 4
sku: 4569
Count row: 8
Current row position: 5
sku: 4569
Count row: 8
Current row position: 6
sku: 4569
Count row: 8
Current row position: 7
sku: 4569
String SELECT_ITEM_QUERY = "SELECT DISTINCT " + ITEM_SKU + ", " + ITEM_NAME + ", " + ITEM_DESCRIPTION + ", " + PRICE_COST + " FROM " + ITEM_TABLE + " INNER JOIN " + PRICE_TABLE;