Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/234.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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
JSON数组循环插入Android SQLite数据库_Android_Arrays_Sqlite_Loops - Fatal编程技术网

JSON数组循环插入Android SQLite数据库

JSON数组循环插入Android SQLite数据库,android,arrays,sqlite,loops,Android,Arrays,Sqlite,Loops,我有以下代码片段,通过JSON数组循环并将数据插入数据库。我的问题是它没有插入所有的记录。如果我有6条记录,它将只插入6条记录中的5条。如果我有5条记录,它只会插入4条?调试storesArray.length时,它将数组中的总记录显示为6。我做错了什么,它不会循环并插入数组中的所有记录 以下是从服务器传入的SQL字符串: [{"id":"29","cId":"3","sName":"Milford Plaza Hotel","sNumber":"3061","sCustNm":"VS7997"

我有以下代码片段,通过JSON数组循环并将数据插入数据库。我的问题是它没有插入所有的记录。如果我有6条记录,它将只插入6条记录中的5条。如果我有5条记录,它只会插入4条?调试storesArray.length时,它将数组中的总记录显示为6。我做错了什么,它不会循环并插入数组中的所有记录

以下是从服务器传入的SQL字符串:

[{"id":"29","cId":"3","sName":"Milford Plaza Hotel","sNumber":"3061","sCustNm":"VS7997","sSalesman":"1234","sAddress":"","sContact":"","sPhone":""},{"id":"26","cId":"7","sName":"Circle K Bowling Green","sNumber":"5670","sCustNm":"VS7976","sSalesman":"1234","sAddress":"1091 N Main Street\r\nBowling Green, Ohio 43402","sContact":"","sPhone":""},{"id":"25","cId":"7","sName":"Circle K Bowling Green","sNumber":"5669","sCustNm":"VS7975","sSalesman":"1234","sAddress":"966 S Main Street\r\nBowling Green, OH 43402","sContact":"","sPhone":""},{"id":"22","cId":"6","sName":"Rock Branch Exxon","sNumber":"122","sCustNm":"VS7983","sSalesman":"1234","sAddress":"Rt 1 Box 34 A\r\nPoca, W.V.","sContact":"","sPhone":""},{"id":"23","cId":"6","sName":"Marathon Food Mart","sNumber":"156","sCustNm":"VS7984","sSalesman":"1234","sAddress":"2300 Pike Street\r\nParkerburg, W.V.","sContact":"Jenny","sPhone":""},{"id":"27","cId":"7","sName":"Circle K Dayton","sNumber":"5346","sCustNm":"VS7992","sSalesman":"1234","sAddress":"816 Waterveilt Ave\r\nDayton, OH 45420","sContact":"","sPhone":""}]
JSONArray storesArray=新的JSONArray(results)

for(int i=0;i
我想
store.getString(“id”)
应该是您的主列id吗?您不应该在insert查询中定义它,数据库将为您定义它

更重要的是:不要直接在查询中放入字符串,因为这是破坏查询的好方法(称为SQL注入)

这样做:

db.execSQL("INSERT INTO stores ( sId, cId, sName, sAddress, sNumber, sSalesman, sCustNum, sPhone ) " +
    "VALUES (?, ?, ?, ?, ?, ?, ?)",
    new Object [] {
        store.getString("cId"),
        store.getString("sName"),
        store.getString("sAddress"),
        store.getString("sNumber"),
        store.getString("sSalesman"),
        store.getString("sCustNm"),
        store.getString("sPhone")});

还请发布ypu传递给执行sql的sql代码,我已将其添加到上述代码段中。store.getString(“id”)不是我的主id。它用于引用。它与正在SQLite数据库中创建的新表中的sId相关。但是,我将使用您的解决方案将数据插入数据库。谢谢你。对我最初的问题有任何帮助都会很好。
db.execSQL("INSERT INTO stores ( sId, cId, sName, sAddress, sNumber, sSalesman, sCustNum, sPhone ) " +
    "VALUES (?, ?, ?, ?, ?, ?, ?)",
    new Object [] {
        store.getString("cId"),
        store.getString("sName"),
        store.getString("sAddress"),
        store.getString("sNumber"),
        store.getString("sSalesman"),
        store.getString("sCustNm"),
        store.getString("sPhone")});