2015-11-30 554 views
0

我想在Android Studio 1.1.0中使用JDBC連接MS SQL數據庫。我指的是this網站進行連接。這裏是我的連接代碼:如何在Android Studio中使用jdbc連接MS SQL數據庫

import android.annotation.SuppressLint; 
    import android.os.StrictMode; 
    import android.util.Log; 
    import java.sql.SQLException; 
    import java.sql.Connection; 
    import java.sql.DriverManager; 

public class ConnectionClass { 
String ip = "IP_Address(for eg.192.168.5.60)"; 
String classs = "net.sourceforge.jtds.jdbc.Driver"; 
String db = "Andro"; 
String un = "username"; 
String password = "pwd"; 
@SuppressLint("NewApi") 
public Connection CONN() { 
    StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder() 
      .permitAll().build(); 
    StrictMode.setThreadPolicy(policy); 
    Connection conn = null; 
    String ConnURL = null; 
    try { 
     Class.forName(classs); 
     /* ConnURL = "jdbc:jtds:sqlserver://" + ip + "/" 
       + "databaseName=" + db + ";user=" + un + ";password=" 
       + password + ";";*/ 

     ConnURL= "jdbc:jtds:sqlserver://IP_Address(for eg.192.168.5.60)/databaseName=Andro;user=username;password=pwd;"; 
     conn = DriverManager.getConnection(ConnURL); 


    } catch (SQLException se) { 
     Log.e("ERRO", se.getMessage()); 
    } catch (ClassNotFoundException e) { 
     Log.e("ERRO", e.getMessage()); 
    } catch (Exception e) { 
     Log.e("ERRO", e.getMessage()); 
    } 
    return conn; 
    } 
} 

調用connectionClass.CONN()這樣的功能:

@Override 
    protected String doInBackground(String... params) { 
     if(userid.trim().equals("")|| password.trim().equals("")) 
      z = "Please enter User Id and Password"; 
     else 
     { 
      try { 
       Connection con = connectionClass.CONN(); 
       if (con == null) { 
        z = "Error in connection with SQL server"; 
       } else { 
        heading.setText("u"+con.toString()); 
        String query = "select * from Usertbl where UserId='" + userid + "' and Password='" + password + "'"; 

        Statement stmt = con.createStatement(); 
        heading.setText("After statement"); 
        ResultSet rs = stmt.executeQuery(query); 

        // heading.setText(rs.getString(1)); 
        z = "under else block"; 
        if(rs.next()) 
        { 
         z = "Login successfull"; 
         isSuccess=true; 
        } 
        else 
        { 
         z = "Invalid Credentials"; 
         isSuccess = false; 
        } 
       } 
      } 
      catch (Exception ex) 
      { 
       isSuccess = false; 
       z = "Exceptions"; 
      } 
     } 
     return z; 
    } 

我只想數據庫與Android Studio連接。錯誤這樣表示

Error while connecting database

我想,因爲一個星期數據庫與Android Studio連接。請建議任何解決方案或任何提示執行連接。您的建議無疑是值得讚賞的。

+1

請以文本形式發佈異常堆棧跟蹤。問題似乎與連接數據庫沒有任何關係(btw你不應該直接從一個android手機,使用web服務作爲中介)。截圖中的錯誤表明您不正確地嘗試修改顯示內容(即:來自錯誤的線程)。 –

回答

0

錯誤是因爲您嘗試從異步任務設置textview字段的文本值。 在這裏:heading.setText(「u」+ con.toString()); 只要刪除這個,錯誤可能會被解決。 另請注意,異步任務無法設置活動組件的值,如EditText,Textview甚至按鈕字段。

0

我也一直在努力MS SQL數據庫在Android Studio連接,成功昨晚使用給定鏈路

https://www.youtube.com/watch?v=HRF8NpoFteg

注意JTDS-1.2.7必須下載,最新版本可能無法正常工作對於真正的移動(我面臨這個問題一個星期的數據庫連接到模擬器,但不是真正的移動)。

進一步包括jtds-1.2.7之後gradle build可能會給出即時運行的錯誤,請不要立即運行文件 - >設置 - >即時運行 - >取消選中啓用即時運行。

希望得到它!!!

相關問題