2013-04-25 49 views
0

我正在開發一個應用程序,其中我使用外部Ms Access數據庫(在PC上)作爲我的Android應用程序的數據庫。我已經使用PHP for Android爲MySql和MSSql完成了連接,但是我想知道如何繼續使用MS Access數據庫。我的Android應用程序中的外部Ms Access數據庫連接

歡迎任何教程或片段!

+0

請給我們一個更好的想法,確切地說,你希望完成什麼。你想讓你的Android應用通過局域網(WiFi)連接在PC上連接到這個數據庫嗎? ...通過互聯網? ...作爲網絡服務? ...? – 2013-04-25 11:51:29

+0

@ GordThompson - 我想通過無線網絡連接電腦訪問數據庫 – 2013-04-25 12:20:47

回答

0

1)在Android端做出這樣的函數:

public void connect_access_php(String vars) 
{ 
    List<NameValuePair> itemstring = new ArrayList<NameValuePair>(); 
    itemstring.add(new BasicNameValuePair("VARIABLE", vars)); 
    HttpClient httpclient = new DefaultHttpClient(); 
    HttpConnectionParams.setConnectionTimeout(httpclient.getParams(), 10000); //Timeout Limit 

    try 
    { 
     HttpPost httppost = new HttpPost("url_of_php_file"); 
     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) { 

      //Handle your Values here 

     } 

    }catch (Exception e) { 
     Toast.makeText(getApplicationContext(),"Connection Problem !", Toast.LENGTH_SHORT).show(); 
     e.printStackTrace(); 
    } 
} 

2)然後PHP頁面上,請訪問文件的連接如下:

<?php 
$variab = $_REQUEST['VARIABLE']; 
$conn = new COM("ADODB.Connection") or die("Oops!"); 
$conn->Open("DRIVER={Microsoft Access Driver (*.mdb)};DBQ=C:\Documents and Settings\xxxx\Desktop\access_file.mdb"); 
$query = "SELECT * FROM table WHERE (Variable = '".$variab."')"; 
$data = $conn->Execute($query); 

while (!$data->EOF) 
{ 
    echo $data ->Fields[0]->value . ":"; 
    //echo $data ->Fields[1]->value . " \n"; 

    $data ->MoveNext(); 
} 
?> 

有了這個例子中,你可以將變量傳遞給php腳本,從而訪問CRUD函數的文件。

祝你好運!

+0

@ NilaySheth-謝謝你的工作完美! – 2013-05-10 06:45:38

相關問題