CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: gianpassa con ben 2 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: 9mm con ben 9 Thanks ricevuti negli ultimi sette giorni
Utente del mese: 9mm con ben 34 Thanks ricevuti nell'ultimo mese

Pagina 3 di 3 primaprima 123
Visualizzazione dei risultati da 21 a 25 su 25
Discussione:

Connettersi a Un DB MS Acces in rete locale

Se questa discussione ti è stata utile, ti preghiamo di lasciare un messaggio di feedback in modo che possa essere preziosa in futuro anche per altri utenti come te!
  1. #21
    Senior Droid


    Registrato dal
    Aug 2011
    Località
    Roma
    Messaggi
    406
    Smartphone
    Nexus 5

    Ringraziamenti
    6
    Ringraziato 32 volte in 29 Posts
    Predefinito

    ovviamente con i permessi intendevo questa riga

    codice:
    <uses-permission android:name="android.permission.INTERNET"></uses-permission>
    comunque controlla meglio, perchè nonostante non abbia mai lavorato con database microsoft, mi sembra strano che per accedere sia richiesta solo una password. Controlla meglio.

  2.  
  3. #22
    Androidiano


    Registrato dal
    Oct 2012
    Messaggi
    61

    Ringraziamenti
    0
    Ringraziato 1 volta in 1 Post
    Predefinito

    Ciao a tutti ho abbandonato il primo netodo che usa jdbc ora sto provando con il php,ho creato lato php questo script:
    codice:
    <?php
    $pw = "gmpa";
    require_once ("config.php");
    $variab = $_REQUEST['VARIABLE'];
    $cn = new COM("ADODB.Connection") or die("Cannot start ADO");
    $cn->Open("Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Jet OLEDB:Database Password=gmpa;Data Source=C:\Users\Paolo\Dropbox\Programmazione\c#\dati.mdb;");
    //$query = "SELECT * FROM table WHERE (Variable = '".$variab."')";
    $query = "SELECT * FROM WHERE (Variable = '".$variab."')";
    $data = $cn->Execute($query);
    
    while (!$data->EOF)
    {
    
        echo $data ->Fields[0]->value . ":";
        //echo $data ->Fields[1]->value . " \n";
    
        $data ->MoveNext();
    }
    ?>
    e ho verificato e funziona.

    Poi nel lato android ho fatto direttamente nella mia activity principale una cosa semlicissima per vedere se funzionava il collegamento ma non va mi dice problem connection,come menzionato nel blocco try cach. DOVE SBAGLIO devo mettere il tutto in un blocco asynkTask?

    codice:
    package com.example.access;
    
    import java.io.BufferedReader;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.util.ArrayList;
    import java.util.List;
    
    import org.apache.http.HttpResponse;
    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.DefaultHttpClient;
    import org.apache.http.message.BasicNameValuePair;
    import org.apache.http.params.HttpConnectionParams;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.widget.Toast;
    
    public class MainActivity extends Activity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            String pippo = "tipipag";
            connect_access(pippo);
        }
        
        public void connect_access(String vars)
        {
        	List<NameValuePair> itemstring = new ArrayList<NameValuePair>();
        	itemstring.add(new BasicNameValuePair("VARIABLE", vars));
        	HttpClient httpclient = new DefaultHttpClient();
        	HttpConnectionParams.setConnectionTimeout(httpclient.getParams(), 10000);
        	
        	try
            {
                HttpPost httppost = new HttpPost("http://10.0.2.2:8080/access/provaRicerca.php");
        		//HttpPost httppost = new HttpPost("localhost/access/provaRicerca.php");
                httppost.setEntity(new UrlEncodedFormEntity(itemstring));
                HttpResponse response = httpclient.execute(httppost);
                InputStream content = response.getEntity().getContent();
                BufferedReader buffer = new BufferedReader(new InputStreamReader(content));
                String s;
                while ((s = buffer.readLine()) != null) {
    
                	Toast.makeText(getApplicationContext(), 
            				"Valori tapipag: " + s, 
            				Toast.LENGTH_LONG).show();
    
                }
    
             }catch (Exception e) {
                Toast.makeText(getApplicationContext(),"Connection Problem !", Toast.LENGTH_SHORT).show();
                e.printStackTrace();
             }
        }
    }
    Questo è il Manifest:
    codice:
    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.example.access"
        android:versionCode="1"
        android:versionName="1.0" >
    
        <uses-sdk
            android:minSdkVersion="8"
            android:targetSdkVersion="21" />
        <uses-permission android:name="android.permission.INTERNET"/>
        <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
        <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
    
        <application
            android:allowBackup="true"
            android:icon="@drawable/ic_launcher"
            android:label="@string/app_name"
            android:theme="@style/AppTheme" >
            <activity
                android:name=".MainActivity"
                android:label="@string/app_name" >
                
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
    
                    <category android:name="android.intent.category.LAUNCHER" />
                    
                </intent-filter>
            </activity>
           
        </application>
       
    
        
    </manifest>
    Ultima modifica di nio74android; 22-08-14 alle 08:58

  4. #23
    Senior Droid


    Registrato dal
    May 2010
    Località
    Rivoli
    Messaggi
    426

    Ringraziamenti
    6
    Ringraziato 48 volte in 47 Posts
    Predefinito

    Quote Originariamente inviato da nio74android Visualizza il messaggio
    e ho verificato e funziona.
    Ci stai facendo uno scherzetto, oppure questo è un test?

    codice:
    $query = "SELECT * FROM WHERE (Variable = '".$variab."')";
    La query è sbagliata!
    Dobrebbe essere qualcosa del tipo
    $query = "SELECT * FROM Tabella! Ho detto Tabella! WHERE (Variable = '".$variab."')";

  5. #24
    Androidiano


    Registrato dal
    Oct 2012
    Messaggi
    61

    Ringraziamenti
    0
    Ringraziato 1 volta in 1 Post
    Predefinito

    Ragazzi scusate ho avuto un po di problemi fisici.Allora ho fatto lo script php cosi,
    codice:
    <?php
    $pw = "gmpa";
    $variab = $_REQUEST['VARIABLE'];
    $cn = new COM("ADODB.Connection") or die("Cannot start ADO");
    $cn->Open("Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Jet OLEDB:Database Password=gmpa;Data Source=C:\Users\Paolo\Dropbox\Programmazione\c#\dati.mdb;");
    //$query = "SELECT * FROM table WHERE (Variable = '".$variab."')";
    $query = "SELECT * FROM $variab";
    $data = $cn->Execute($query);
    
    while (!$data->EOF)
    {
    
        echo $data ->Fields[0]->value . " : ";
        //echo $data ->Fields[1]->value . " \n";
    
        $data ->MoveNext();
    }
    ?>

    Poi sto tentando di capire bene come fare la classe asynktask,volevo far si che si vedesse il risultato in un toast,ma nonriesco a capire come passare il valore del risultato che ho ciclato nel metodo doInBackground nel metodo onpostexecute.Forse dovrei ciclarlo nel onPostExecute?

    vi posto il codice

    codice:
    package com.example.access;
    
    import java.io.BufferedReader;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.util.ArrayList;
    import java.util.List;
    
    import org.apache.http.HttpResponse;
    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.DefaultHttpClient;
    import org.apache.http.message.BasicNameValuePair;
    import org.apache.http.params.HttpConnectionParams;
    
    import android.app.Activity;
    import android.app.Application;
    import android.app.ProgressDialog;
    import android.os.AsyncTask;
    import android.os.Bundle;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.widget.Toast;
    
    public class MainActivity extends Activity {
    	
    	String s = null;
    
        
        @Override
        protected void onCreate(Bundle savedInstanceState)
        
        {
                TaskAsincrono mAuthTask = null;
             
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
           
            String vars="tipipag";
            mAuthTask = new TaskAsincrono();
            mAuthTask.execute(vars);
           
        }
        public class TaskAsincrono  extends AsyncTask<String, Void, String>{
        	
        	
                    public String doInBackground(String... params) {
                    //qui andrebbe controllata la validità del dato
                    String vars=params[0];
                    List<NameValuePair> itemstring = new ArrayList<NameValuePair>();
                    itemstring.add(new BasicNameValuePair("VARIABLE", vars));
                    HttpClient httpclient = new DefaultHttpClient();
                    HttpConnectionParams.setConnectionTimeout(httpclient.getParams(), 10000);
                        
                        try
                    {
                        HttpPost httppost = new HttpPost("http://10.0.2.2/access/provaRicerca.php");
                        httppost.setEntity(new UrlEncodedFormEntity(itemstring));
                        HttpResponse response = httpclient.execute(httppost);
                        InputStream content = response.getEntity().getContent();
                        BufferedReader buffer = new BufferedReader(new InputStreamReader(content));
                        
                        
                       
                        while ((s = buffer.readLine()) != null) {
                        	
                        	System.out.println("questo  è il risultato  "+s);
                        	
                        	
                        	
                               
                                
                                
                        }
    
                     }catch (Exception e) {
                       
                        e.printStackTrace();
                     }
                            return null;
                            
                      
                    }
                    
                    @Override
                    protected void onPostExecute(String result) {
                    	Toast.makeText(getApplicationContext(), "risultato"+result, Toast.LENGTH_LONG).show();
                    }
                    
                    
                    
                          
                   
                
        }
    }
    il logcat dimostra che funziona il collegamento(vi mostro il risultato del "System.out.println("questo è il risultato "+s);"

    codice:
    09-06 05:28:18.053: I/System.out(533): questo  è il risultato  <Utente> : 30 : 30 fm : 60 : 60 fm : 30 60 : 30 60 fm : 60 90 : 60 90 fm : 30 60 90 : 30 60 90 fm : 30 60 90 120 : 30 60 90 120 fm : 30...150 : 30...150 fm : 30...150 180 : 30...150 180 fm : 60 90 120 : 60 90 120 fm : Rimessa Diretta :

  6. #25
    Androidiano


    Registrato dal
    Oct 2012
    Messaggi
    61

    Ringraziamenti
    0
    Ringraziato 1 volta in 1 Post
    Predefinito

    Ci sono riuscito tramite degli amici di un'altro forum ma vorrei postare come ho fatto in modo da poter aiutare chi come me ha avuto difficoltà,allora ho dichiarato una variabile al difuori del wile e po all'interno del wile ho assegnato il valore del ciclo ad essa per poi far il return ad essa,forse è meglio che vi posto il codice cosi capite meglio.

    codice:
    package com.example.access;
    
    import java.io.BufferedReader;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.util.ArrayList;
    import java.util.List;
    
    import org.apache.http.HttpResponse;
    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.DefaultHttpClient;
    import org.apache.http.message.BasicNameValuePair;
    import org.apache.http.params.HttpConnectionParams;
    
    import android.app.Activity;
    import android.app.Application;
    import android.app.ProgressDialog;
    import android.os.AsyncTask;
    import android.os.Bundle;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.widget.Toast;
    
    public class MainActivity extends Activity {
    	
    	String s = null;
    
        
        @Override
        protected void onCreate(Bundle savedInstanceState)
        
        {
                TaskAsincrono mAuthTask = null;
             
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
           
            String vars="tipipag";
            mAuthTask = new TaskAsincrono();
            mAuthTask.execute(vars);
           
        }
        public class TaskAsincrono  extends AsyncTask<String, String, String>{
        	
        	
                    public String doInBackground(String... params) {
                    //qui andrebbe controllata la validità del dato
                    String vars=params[0];
                    List<NameValuePair> itemstring = new ArrayList<NameValuePair>();
                    itemstring.add(new BasicNameValuePair("VARIABLE", vars));
                    HttpClient httpclient = new DefaultHttpClient();
                    HttpConnectionParams.setConnectionTimeout(httpclient.getParams(), 10000);
                        
                    //Imposto la stringa da passare come risultato
                    String str = null;
                        try
                    {
                        HttpPost httppost = new HttpPost("http://10.0.2.2/access/provaRicerca.php");
                        httppost.setEntity(new UrlEncodedFormEntity(itemstring));
                        HttpResponse response = httpclient.execute(httppost);
                        InputStream content = response.getEntity().getContent();
                        BufferedReader buffer = new BufferedReader(new InputStreamReader(content));
                        
                        
                       
                        while ((s = buffer.readLine()) != null) {
                        	// assegno il risultato a str
                        	str += s;
                        	
                   
                        	//System.out.println("questo  è il risultato  "+s);
                        	
                        	  
                        }
    
                     }catch (Exception e) {
                       
                        e.printStackTrace();
                     }
                        //passo il risultato al return in modo che 
                        //il result del onPostExecute lo legga
                            return str;
                            
                      
                    }
                    
                    @Override
                    protected void onPostExecute(String result) {
                    	Toast.makeText(getApplicationContext(), "risultato"+result, Toast.LENGTH_LONG).show();
                    }
                    
                    
                    
                          
                   
                
        }
    }

Pagina 3 di 3 primaprima 123

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire risposte
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Torna su
Privacy Policy