2016-11-05 2 views
0

내 전화를 사용하여 내 안드로이드 스튜디오 IDE에서이 코드를 실행하려고하면 시작 및 종료됩니다. 나는 Microsoft SQL 데이터베이스와 Microsoft SQL 드라이버를 다운로드했으며 여전히이 오류가 발생합니다. 아무도 도와 줄 수 있습니까?내 안드로이드 스튜디오 IDE에서이 데이터베이스 연결 코드를 내 휴대폰에서 실행하려면 어떻게해야합니까?

import android.annotation.SuppressLint; 
import android.os.StrictMode; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.util.Log; 
import android.view.View; 
import android.widget.AdapterView; 
import android.widget.ArrayAdapter; 
import android.widget.Spinner; 
import android.widget.Toast; 


import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.PreparedStatement; 
import java.sql.ResultSet; 
import java.sql.SQLException; 
import java.util.ArrayList; 

public class MainActivity extends AppCompatActivity { 
    Spinner spinnervendors; 

    String ip, db; 
    Connection connect; 
    PreparedStatement stmt; 
    ResultSet rs; 

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

     ip = "127.0.0.1"; 
     db = "Vendors"; 

     spinnervendors = (Spinner) findViewById(R.id.spinnervendors); 

     connect = CONN(db, ip); 
     String query = "Select CompanyName from Products"; 

     try { 
      connect = CONN(db, ip); 
      stmt = connect.prepareStatement(query); 
      rs = stmt.executeQuery(); 
      ArrayList<String> data = new ArrayList<String>(); 
      while (rs.next()) { 
       String id = rs.getString("CompanyName"); 
       data.add(id); 

      } 
      String[] array = data.toArray(new String[0]); 
      ArrayAdapter NoCoreAdapter = new ArrayAdapter(this, 
        android.R.layout.simple_list_item_1, data); 
      spinnervendors.setAdapter(NoCoreAdapter); 
     } catch (SQLException e) { 
      e.printStackTrace(); 
     } 

     spinnervendors.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 

      @Override 
      public void onItemSelected(AdapterView<?> parent, View view, 
             int position, long id) { 

       String name = spinnervendors.getSelectedItem().toString(); 
       Toast.makeText(MainActivity.this, name, Toast.LENGTH_SHORT) 
         .show(); 
      } 

      @Override 
      public void onNothingSelected(AdapterView<?> parent) { 

      } 
     }); 

    } 
    @SuppressLint("NewApi") 
    private Connection CONN(String _DB, String _server) { 
     StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder() 
       .permitAll().build(); 
     StrictMode.setThreadPolicy(policy); 
     Connection conn = null; 
     String ConnURL = null; 
     try { 

      Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 
      ConnURL = "jdbc:sqlserver://localhost" + "Vendors"; 
      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; 
    } 

} 
+0

오류 메시지가 표시됩니까? IDE에서 전체 오류 메시지와 스택 추적을 얻기 위해 실행할 수 있습니까? – ColonelCustard

+0

아니요 오류 메시지가 표시되지 않습니다. – Bolajio

답변