簡體   English   中英

android中使用數據庫未成功保存數據

[英]data not saved successfully using database in android

嗨,在我的應用程序中,我有一些學生姓名,並且沒有滾動,然后單擊保存按鈕數據未插入數據庫,並且使用吐司消息顯示僅單個名稱,沒有滾動但沒有顯示任何數據,並且未插入數據。

上課

public class Attend extends Activity implements OnClickListener {

    String data = "";
    TableLayout tl;
    TableRow tr;
    TextView studentName;
    EditText Firstname,stRoll;
    CheckBox present;
    String[] class_name, section_name;
    String[] words;
    String name;
    String roll;
    Button save;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        tl = (TableLayout) findViewById(R.id.maintable);

         save = (Button)findViewById(R.id.save); 
         Firstname  = (EditText) findViewById(R.id.studentname );
         Firstname.setVisibility(View.GONE);
         stRoll = (EditText) findViewById(R.id.rollnumber ); 
         stRoll.setVisibility(View.GONE);
         save.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                //save.setText("Record Saved Sucessfully");
                name = Firstname.getText().toString();
                System.out.println(name);
                roll = stRoll.getText().toString();
                System.out.println(roll);
                Toast.makeText(
                        Attend.this,
                        "Result : " + "\nStudentName : " +name
                        + "\nRollno : " + roll,

                        Toast.LENGTH_SHORT).show();
                data = DatabaseUtility.executeQueryPhp("save","");
                System.out.println(data);
            }


        });

        String class_id = getIntent().getStringExtra("class_id");
        String section_id = getIntent().getStringExtra("section_id");
        Toast.makeText(
                this,
                "Result : " + "\nclassName : " + class_id + "\nSectionName : "
                        + section_id,

                Toast.LENGTH_SHORT).show();

        final String queryString = "class_id=" + class_id + "&section_id="
                + section_id;
        /*String result = DatabaseUtility.executeQueryPhp("getStudent",
                queryString);*/

        new Thread(new Runnable() {
            public void run() {
                data = DatabaseUtility.executeQueryPhp("getStudent",queryString);
                System.out.println(data);

                runOnUiThread(new Runnable() {

                    @Override
                    public void run() {
                        ArrayList<StudentDetails> users = parseJSON(data);
                        addData(users);
                    }
                });

            }
        }).start();

    }
    public ArrayList<StudentDetails> parseJSON1(String result1) {
        ArrayList<StudentDetails> users = new ArrayList<StudentDetails>();
        try {
            JSONArray jArray = new JSONArray(result1);
            for (int i = 0; i < jArray.length(); i++) {
                JSONObject json_data = jArray.getJSONObject(i);
                StudentDetails user = new StudentDetails();

                user.setStudentname(json_data.getString("student_nme"));
                user.setRollno(json_data.getString("roll_no"));
                users.add(user);
            }
        } catch (JSONException e) {
            Log.e("log_tag", "Error parsing data " + e.toString());
        }
        return users;
    }

    public ArrayList<StudentDetails> parseJSON(String result) {
        ArrayList<StudentDetails> users = new ArrayList<StudentDetails>();
        try {
            JSONArray jArray = new JSONArray(result);
            for (int i = 0; i < jArray.length(); i++) {
                JSONObject json_data = jArray.getJSONObject(i);
                StudentDetails user = new StudentDetails();
                // user.setId(json_data.getInt("class_name"));
                // user.setClass_id(json_data.getInt("section_name"));
                // user.setSection_id(json_data.getInt("section_id"));
                user.setStudentname(json_data.getString("first_name"));
                user.setRollno(json_data.getString("roll_no"));
                users.add(user);
            }
        } catch (JSONException e) {
            Log.e("log_tag", "Error parsing data " + e.toString());
        }
        return users;
    }

    void addHeader() {

        tr = new TableRow(this);

        studentName = new TextView(this);


        studentName.setText("StudentName");

        studentName.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,
                LayoutParams.WRAP_CONTENT));
        studentName.setPadding(5, 5, 5, 5);
        studentName.setBackgroundColor(Color.RED);
        LinearLayout Ll = new LinearLayout(this);
        LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
                LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);
        params.setMargins(5, 5, 5, 5);

        Ll.addView(studentName, params);
        tr.addView((View) Ll);

        TextView RollNo = new TextView(this);
        RollNo.setText("RollNo");
        RollNo.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,
                LayoutParams.WRAP_CONTENT));
        RollNo.setPadding(5, 5, 5, 5);
        RollNo.setBackgroundColor(Color.RED);
        Ll = new LinearLayout(this);
        params = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,
                LayoutParams.WRAP_CONTENT);
        params.setMargins(0, 5, 5, 5);

        Ll.addView(RollNo, params);
        tr.addView((View) Ll);
        TextView Present = new TextView(this);
        Present.setText("Present");
        Present.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,
                LayoutParams.WRAP_CONTENT));
        Present.setPadding(5, 5, 5, 5);
        Present.setBackgroundColor(Color.RED);
        Ll = new LinearLayout(this);
        params = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,
                LayoutParams.WRAP_CONTENT);
        params.setMargins(0, 5, 5, 5);

        Ll.addView(Present, params);
        tr.addView((View) Ll);

        tl.addView(tr, new TableLayout.LayoutParams(LayoutParams.FILL_PARENT,
                LayoutParams.WRAP_CONTENT));



    }

    @SuppressWarnings({ "rawtypes" })
    public void addData(ArrayList<StudentDetails> users) {

        addHeader();

        for (Iterator i = users.iterator(); i.hasNext();) {

            StudentDetails p = (StudentDetails) i.next();

            /** Create a TableRow dynamically **/
            tr = new TableRow(this);

            /** Creating a TextView to add to the row **/
            Firstname = new EditText(this);
            Firstname.setText(p.getStudentname());
            Firstname.setId(p.getId());
            Firstname.setLayoutParams(new LayoutParams(
                    LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
            Firstname.setPadding(5, 5, 5, 5);

            LinearLayout Ll = new LinearLayout(this);
            LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
                    LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);
            params.setMargins(5, 2, 2, 2);

            Ll.addView(Firstname, params);
            tr.addView((View) Ll);

            EditText stRoll= new EditText(this);
            stRoll.setText(p.getRollno());
            stRoll.setLayoutParams(new LayoutParams(
                    LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
            stRoll.setPadding(5, 5, 5, 5);

            Ll = new LinearLayout(this);
            params = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,
                    LayoutParams.WRAP_CONTENT);
            params.setMargins(0, 3, 3, 3);

            Ll.addView(stRoll, params);
            tr.addView((View) Ll);
            CheckBox present = new CheckBox(this);

            present.setLayoutParams(new LayoutParams(
                    LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
            present.setPadding(5, 5, 5, 5);

            Ll = new LinearLayout(this);
            params = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,
                    LayoutParams.WRAP_CONTENT);
            params.setMargins(0, 3, 3, 3);

            Ll.addView(present, params);
            tr.addView((View) Ll);

            tl.addView(tr, new TableLayout.LayoutParams(
                    LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
        }
    }

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub

    }

save.php

<?php

    mysql_connect("localhost","root",""); 
    mysql_select_db("login");
    $name = $_POST['name'];
$roll = $_POST['roll'];
    $q=mysql_query("insert into save (student_name,roll_no) values('$name','$roll')");

    while($row=mysql_fetch_assoc($q))
            $json_output[]=$row;

    print(json_encode($json_output));

    mysql_close();

?>

您遇到的錯誤是因為沒有數組可將數據放入($ json_output)

如果定義$ json_output應該沒有問題

save.php

<?php

mysql_connect("localhost","root",""); 
mysql_select_db("login");
$name = !empty($_POST['name']) ? $_POST['name'] : $_GET['name'];
$roll = !empty($_POST['roll']) ? $_POST['roll'] : $_GET['roll'];
$query = "insert into save (student_name,roll_no) values('$name','$roll')";
$json_output = array();
if (!mysql_query($query )) {
  $json_output[] = mysql_errno() . ": ".mysql_error();
}else{
  $json_output[] = true;
}

print(json_encode($json_output));
mysql_close();
?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM