首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在android中使用数据库未成功保存数据

在android中使用数据库未成功保存数据
EN

Stack Overflow用户
提问于 2014-09-22 12:29:04
回答 1查看 120关注 0票数 0

嗨,在我的应用程序中,我有一些学生的名字,滚动不,并点击保存按钮数据,没有插入到数据库和使用吐司消息,它只显示单名和滚动,没有任何显示和数据没有插入。

Attend.class

代码语言:javascript
复制
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

代码语言:javascript
复制
<?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();

?>
EN

回答 1

Stack Overflow用户

发布于 2014-09-22 12:49:02

您所遇到的错误是因为没有数组将数据放入($json_output)中。

如果您定义了$json_output,就没有问题了

save.php

代码语言:javascript
复制
<?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();
?>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25974159

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档