有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Android无法将数据插入Mysql数据库,但将数据插入logcat

<?php $con=mysqli_connect("localhost","root","","cleanindia"); // Check connection if (mysqli_connect_errno()) { echo "Failed to connect to MySQL: " . mysqli_connect_error(); } // escape variables for security $landmark = mysqli_real_escape_string($con, $_POST['landmark']); $description = mysqli_real_escape_string($con, $_POST['description']); $phonenumber= mysqli_real_escape_string($con, $_POST['phonenumber']); $simnumber= mysqli_real_escape_string($con, $_POST['simnumber']); $imeinumber= mysqli_real_escape_string($con, $_POST['imeinumber']); $latitude= mysqli_real_escape_string($con, $_POST['latitude']); $sql="INSERT INTO details (land_mark, descrip, phonenum, sim, imei, lati) VALUES ('$landmark', '$description', '$phonenumber', '$simnumber', '$imeinumber', '$latitude')"; /*$sql="INSERT INTO details (land_mark, descrip, phonenum, sim, imei) VALUES ('abc', 'demo', '9876543210', '01234567890', '954756221102')";*/ $data = "Select * from details"; $datacount = mysqli_query($con,$data); if (!mysqli_query($con,$data )) { die('Error: ' . mysqli_error($con)); } echo $data1 = mysqli_num_rows($datacount); mysqli_close($con); ?>

我有一个代码,需要将编辑文本值发送到服务器。但这没问题。但当我将数据发布到服务器时,它并没有在服务器中更新。它只是在logcat中更新。所以请帮帮我。谢谢

import java.util.ArrayList;
import java.util.List;

import org.apache.http.HttpVersion;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.BasicResponseHandler;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.params.BasicHttpParams;
import org.apache.http.params.CoreProtocolPNames;
import org.apache.http.params.HttpParams;

import com.igibpo.cleanindia.Details;

import 安卓.app.Activity;
import 安卓.app.ProgressDialog;
import 安卓.os.AsyncTask;
import 安卓.os.Bundle;
import 安卓.util.Log;
import 安卓.view.View;
import 安卓.view.View.OnClickListener;
import 安卓.widget.Button;
import 安卓.widget.EditText;

public class Details extends Activity {

    HttpClient httpclient;
    HttpPost httppost;
    EditText lmark, des;
    String result;
    Button Submit;
    ProgressDialog pDialog;
    String geted1, geted2;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.details);

        lmark = (EditText) findViewById(R.id.landmark);
        des = (EditText) findViewById(R.id.description);
        Submit = (Button) findViewById(R.id.button1);
        httppost = new HttpPost("server");
        Submit.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                geted1 = lmark.getText().toString();
                geted2 = des.getText().toString();
                Log.i("LandMark", geted1);
                Log.i("Description", geted2);
                new getresult().execute();
            }
        });
    }

    public class getresult extends AsyncTask<Void, Void, Void> {

        protected void onPreExecute() {
            super.onPreExecute();
            pDialog = new ProgressDialog(Details.this);
            pDialog.setMessage("Inserting Data....");
            pDialog.setIndeterminate(false);
            pDialog.setCancelable(true);
            pDialog.show();

        }

        @Override
        protected Void doInBackground(Void... arg0) {
            // TODO Auto-generated method stub
            try {
                HttpParams params = new BasicHttpParams();
                params.setParameter(CoreProtocolPNames.PROTOCOL_VERSION,HttpVersion.HTTP_1_1);
                httpclient = new DefaultHttpClient(params);
                List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
                nameValuePairs.add(new BasicNameValuePair("landmark", geted1));
                nameValuePairs.add(new BasicNameValuePair("description", geted2));
                httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs,"utf-8"));
                result = httpclient.execute(httppost,new BasicResponseHandler());

            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
                Log.e("Exception", e.toString());
            }
            return null;
        }
        protected void onPostExecute(String result) {
            // dismiss the dialog once done
            pDialog.dismiss();

    }   

    }

}

共 (1) 个答案

  1. # 1 楼答案

    在代码中使用mysql语句,不要忘记关闭语句、连接实例。正确关闭它们,则只有更改才会保存在数据库中

    UPDATE:

    使用以下代码使用jdbc语句将数据插入服务器数据库

    try{
     Connection con=DriverManager.getConnection(dburl,dbuname,dbpass);
     Statement stmt=con.createStatement();
     stmt.executeUpdate("write insert statement here");
    
     //close the connection here
      con.close();
      stmt.close(); 
    
     }catch(Exception e){
       //write console statement here
     }