0

私はandorid列にMysql列をインポートしようとしています。これは私のphpファイルで、列の値を取得して、このようなすべてのレコードを表示しています

[{"nome":"A BARATEIRA DE TECIDOS LIMITADA ME"}][{"nome":"A BARATEIRA DE TECIDOS LIMITADA ME"},{"nome":"A.A.L. COMESTIVEIS E RESTAURANTE LTDA ME"}][{"nome":"A BARATEIRA DE TECIDOS LIMITADA ME"},{"nome":"A.A.L. COMESTIVEIS E RESTAURANTE LTDA ME"},{"nome":"ACOUGUE E MERCEARIA COSTELAO DA SERRA LTDA ME"}]"

//私のphpファイル

<?php
mysql_connect("localhost","root","abcd");
mysql_select_db("fabricacao");
$sql=mysql_query("SELECT nome FROM cliente ORDER BY NOME") ;
$nome ='nome';
while($rows=mysql_fetch_assoc($sql))
{
$output[]=$rows;
 print(json_encode($output));
mysql_close();
}
?>

私の問題は、結果のレコードを配列に変換し、JSONArray.length() で「サイズ = 1」を示し、最初の 1 つのレコードだけを挿入するときに、すべての行を保存したい問題がどこにあるのかわかりませんか?

try
{
   JSONArray  jArray = new JSONArray(result);
  //mydb
       sql= openOrCreateDatabase("CLT",SQLiteDatabase.CREATE_IF_NECESSARY,null);
       ContentValues values=new ContentValues(); 
       int n = jArray.length();
        for(int i=0;i<jArray.length();i++)
        {
        JSONObject json_data = jArray.getJSONObject(i);
        values.put("CLIENT", json_data.getString("nome"));
         sql.insert("clnt", null, values);
        }
       sql.close();

    }catch(Exception e)
    {
        Log.e("Erro",e.toString());
    }
4

1 に答える 1

0

結果データをarraylistに追加してから、データベースに追加します。データベースからすべてのレコードを取得するには、以下のコードを確認してください。

 try{

            JSONArray jArray = new JSONArray(result);


            ArrayList<String> your_array_list = new ArrayList<String>();
            for(int i=0;i<jArray.length();i++){
                    JSONObject json_data = jArray.getJSONObject(i);

                    String name=json_data.getString("name");
                     your_array_list.add(name);


                                    }

    }
    catch(JSONException e){
            Log.e("Error", "Error parsing data "+e.toString());
    }
于 2012-10-18T05:46:58.537 に答える