Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.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
Php 带游标的MySQL/SQlite(1行上传)_Php_Android_Mysql_Sqlite - Fatal编程技术网

Php 带游标的MySQL/SQlite(1行上传)

Php 带游标的MySQL/SQlite(1行上传),php,android,mysql,sqlite,Php,Android,Mysql,Sqlite,你好 我在将游标中捕获的所有信息填充到MySQL服务器时遇到问题 我已经做了测试,在我的Toast消息中,它确实显示了正确的行数等等,但是循环和响应消息看起来都是有序的,但是MySQL中只上传了一行,你知道我哪里出错了吗 多谢各位- 代码: ConnectivityManager cm=(ConnectivityManager)context.getSystemService(context.CONNECTIVITY_服务); NetworkInfo activeNetwork=cm.get

你好

我在将游标中捕获的所有信息填充到MySQL服务器时遇到问题

我已经做了测试,在我的Toast消息中,它确实显示了正确的行数等等,但是循环和响应消息看起来都是有序的,但是MySQL中只上传了一行,你知道我哪里出错了吗

  • 多谢各位-
代码:

ConnectivityManager cm=(ConnectivityManager)context.getSystemService(context.CONNECTIVITY_服务);
NetworkInfo activeNetwork=cm.getActiveNetworkInfo();
//如果有网络
if(activeNetwork!=null){
//如果连接到wifi或移动数据计划
if(activeNetwork.getType()==ConnectivityManager.TYPE|WIFI | | activeNetwork.getType()==ConnectivityManager.TYPE|MOBILE){
//获取所有未同步的名称
最终游标=db.getUnsyncedNames();
if(cursor.moveToFirst()){
int rows=cursor.getCount();
做{
String custno=cursor.getString(1);
String custna=cursor.getString(2);
字符串custtnad=cursor.getString(3);
String outletno=cursor.getString(cursor.getColumnIndex(“outletno”));
Toast.makeText(上下文,“要同步的GPS绘图:”+String.valueOf(rows),Toast.LENGTH_LONG.show();
//Toast.makeText(上下文,outletno+“\n”+custno+“\n\n”+custna+“\n\n”+custnad,Toast.LENGTH\u LONG).show();
保存名(
cursor.getString(cursor.getColumnIndex(“outletno”),
cursor.getString(cursor.getColumnIndex(“lati”),
cursor.getString(cursor.getColumnIndex(“longi”),
cursor.getString(cursor.getColumnIndex(“dserial”),
cursor.getString(cursor.getColumnIndex(“GPS”)),
cursor.getString(cursor.getColumnIndex(“GPSA”),
cursor.getString(cursor.getColumnIndex(“ACC”));
}while(cursor.moveToNext());
}
}
}
}
私有void存储名(最终字符串outletno、最终字符串lati、最终字符串longi、最终字符串dserial、最终字符串GPS、最终字符串GPSA、最终字符串ACC){
StringRequest StringRequest=新建StringRequest(Request.Method.POST、MainActivity.url\u create\u product、,
新的Response.Listener(){
@凌驾
公共void onResponse(字符串响应){
试一试{
JSONObject obj=新的JSONObject(响应);
字符串响应=obj.getString(“成功”);
int success=obj.getInt(“success”);
如果(成功==1){
Toast.makeText(上下文,outletno+“\n”+“upload!”,Toast.LENGTH\u LONG.show();
db.updateNameStatus(outletno,MainActivity.NAME与服务器同步);
}否则{
Toast.makeText(上下文,“上载失败”,Toast.LENGTH_LONG.show();
}
}捕获(JSONException e){
e、 printStackTrace();
}
}
},
新的Response.ErrorListener(){
@凌驾
公共无效onErrorResponse(截击错误){
}
}) {
@凌驾
受保护的映射getParams()引发AuthFailureError{
Map params=新的HashMap();
参数输出(“OutletNo”,OutletNo);
参数put(“纬度”,纬度);
参数put(“经度”,longi);
参数put(“设备串行”,数据串行);
参数put(“GPS”,GPS);
参数put(“新地址”,GPSA);
参数put(“ACC”,ACC);
返回参数;
}
};
getInstance(上下文).addToRequestQueue(stringRequest);
}

}

在while循环中使用了
cursor.isAfterLast()
条件,而不是类似的
cursor.moveToNext()

do{
   ...
  cursor.moveToNext();
}while(!cursor.isAfterLast());
试试这个片段
您可能已经声明了someColumn
非Null

在创建表时

不知何故,
cursor.getString()
返回了
null
,因此该行没有被添加到数据库表中。

if(cursor.moveToFirst()){
 if (cursor.moveToFirst()) {
                int rows = cursor.getCount();
                do {

                    Toast.makeText(context, "GPS Plots to Sync: " + String.valueOf(rows), Toast.LENGTH_LONG).show();
                    String onumber = cursor.getString(cursor.getColumnIndex("outletno"));
                    String olati = cursor.getString(cursor.getColumnIndex("lati"));
                    String olongi = cursor.getString(cursor.getColumnIndex("longi"));
                    String oserial = cursor.getString(cursor.getColumnIndex("dserial"));
                    String ogps = cursor.getString(cursor.getColumnIndex("GPS"));
                    String ogpsa = cursor.getString(cursor.getColumnIndex("GPSA"));
                    String oacc = cursor.getString(cursor.getColumnIndex("ACC"));

                    //   Toast.makeText(MainActivity.this, currentLocation, Toast.LENGTH_LONG).show();

                    // Building Parameters
                    List<NameValuePair> params = new ArrayList<NameValuePair>();
                    params.add(new BasicNameValuePair("OutletNo", onumber));
                    params.add(new BasicNameValuePair("Latitude", olati));
                    params.add(new BasicNameValuePair("Longitude", olongi));
                    params.add(new BasicNameValuePair("DeviceSERIAL", oserial));
                    params.add(new BasicNameValuePair("GPS", ogps));
                    params.add(new BasicNameValuePair("NEWADDR", ogpsa));
                    params.add(new BasicNameValuePair("ACC", oacc));


                    JSONObject json = jsonParser.makeHttpRequest(MainActivity.url_create_product,
                            "POST", params);

                    Log.d("Create Response", json.toString());

                    try {
                        int success = json.getInt("success");

                        if (success == 1) {

                            Toast.makeText(context, onumber + "\n"+"Uploaded!", Toast.LENGTH_LONG).show();
                            db.updateNameStatus(onumber, MainActivity.NAME_SYNCED_WITH_SERVER);
                            //      If uploaded = finish();

                        } else {
                            // failed to create product
                            //   Toast.makeText(MainActivity.this, "Need To Sync", Toast.LENGTH_LONG).show();
                        }
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }

                    cursor.moveToNext();


                } while (!cursor.isAfterLast());


            }

        }

    }

            }
int rows=cursor.getCount(); 做{ Toast.makeText(上下文,“要同步的GPS绘图:”+String.valueOf(rows),Toast.LENGTH_LONG.show(); 字符串onumber=cursor.getString(cursor.getColumnIndex(“outletno”); String olati=cursor.getString(cursor.getColumnIndex(“lati”); 字符串olongi=cursor.getString(cursor.getColumnIndex(“longi”); String oserial=cursor.getString(cursor.getColumnIndex(“dserial”); 字符串ogps=cursor.getString(cursor.getColumnIndex(“GPS”); 字符串ogpsa=cursor.getString(cursor.getColumnIndex(“GPSA”); 字符串oacc=cursor.getString(cursor.getColumnIndex(“ACC”); //Toast.makeText(MainActivity.this,currentLocation,Toast.LENGTH_LONG.show(); //建筑参数 List params=new ArrayList(); 参数add(新的BasicNameValuePair(“OutletNo”,onumber)); 参数添加(新的BasicNameValuePair(“纬度”,olati)); 添加(新的BasicNameValuePair(“经度”,olongi)); 参数添加(新的BasicNameValuePair(“DeviceSERIAL”,oserial)); 参数添加(新的BasicNameValuePair(“GPS”,ogps)); 参数添加(新的BasicNameValuePair(“新添加”,
final Cursor cursor = db.getUnsyncedNames();
    cursor.moveToFirst();
    try {

        while (!cursor.isAfterLast()){

            String custtno = cursor.getString(0);
            String custtna = cursor.getString(1);
            String custtnad = cursor.getString(2);
            
              saveName(
                        cursor.getString(cursor.getColumnIndex("outletno")),
                        cursor.getString(cursor.getColumnIndex("lati")),
                        cursor.getString(cursor.getColumnIndex("longi")),
                        cursor.getString(cursor.getColumnIndex("dserial")),
                        cursor.getString(cursor.getColumnIndex("GPS")),
                        cursor.getString(cursor.getColumnIndex("GPSA")),
                        cursor.getString(cursor.getColumnIndex("ACC")));
          
        cursor.moveToNext();
      }
    } catch (Exception e) {
         e.printStackTrace();
    }

}
 if (cursor.moveToFirst()) {
                int rows = cursor.getCount();
                do {

                    Toast.makeText(context, "GPS Plots to Sync: " + String.valueOf(rows), Toast.LENGTH_LONG).show();
                    String onumber = cursor.getString(cursor.getColumnIndex("outletno"));
                    String olati = cursor.getString(cursor.getColumnIndex("lati"));
                    String olongi = cursor.getString(cursor.getColumnIndex("longi"));
                    String oserial = cursor.getString(cursor.getColumnIndex("dserial"));
                    String ogps = cursor.getString(cursor.getColumnIndex("GPS"));
                    String ogpsa = cursor.getString(cursor.getColumnIndex("GPSA"));
                    String oacc = cursor.getString(cursor.getColumnIndex("ACC"));

                    //   Toast.makeText(MainActivity.this, currentLocation, Toast.LENGTH_LONG).show();

                    // Building Parameters
                    List<NameValuePair> params = new ArrayList<NameValuePair>();
                    params.add(new BasicNameValuePair("OutletNo", onumber));
                    params.add(new BasicNameValuePair("Latitude", olati));
                    params.add(new BasicNameValuePair("Longitude", olongi));
                    params.add(new BasicNameValuePair("DeviceSERIAL", oserial));
                    params.add(new BasicNameValuePair("GPS", ogps));
                    params.add(new BasicNameValuePair("NEWADDR", ogpsa));
                    params.add(new BasicNameValuePair("ACC", oacc));


                    JSONObject json = jsonParser.makeHttpRequest(MainActivity.url_create_product,
                            "POST", params);

                    Log.d("Create Response", json.toString());

                    try {
                        int success = json.getInt("success");

                        if (success == 1) {

                            Toast.makeText(context, onumber + "\n"+"Uploaded!", Toast.LENGTH_LONG).show();
                            db.updateNameStatus(onumber, MainActivity.NAME_SYNCED_WITH_SERVER);
                            //      If uploaded = finish();

                        } else {
                            // failed to create product
                            //   Toast.makeText(MainActivity.this, "Need To Sync", Toast.LENGTH_LONG).show();
                        }
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }

                    cursor.moveToNext();


                } while (!cursor.isAfterLast());


            }

        }

    }

            }