2013-07-18 2 views
0

Добрый день!Ошибка приложения Android при попытке подключения к SQL Server 2005

Я следовал этому учебнику - http://www.youtube.com/watch?v=eiSMgy9UciI

и попытался подключить Android приложения для SQL Server 2005. Приложение должен получить данные из базы данных и отобразить его в эмуляторе. Теперь я застрял с неизвестной ошибкой, при запуске приложения он отображает пустой экран и сообщение «», и никаких ошибок не возникает в консоли или LogCat.

Вот мой first_activity.java код:

public class First_activity extends Activity { 

// creating the objects 
Button EXECUTAR; 
EditText ValorBusca; 
ListView Lista; 
Connection connect; 
SimpleAdapter AD; 

//declaring the objects 
    private void declarar() 
    { 
     EXECUTAR = (Button) findViewById(R.id.btn_buscar); 
     ValorBusca = (EditText) findViewById(R.id.txt_buscar); 
     Lista = (ListView) findViewById(R.id.list_output); 
    } 

//initialize objects 
private void inicializar() 
{  
    declarar(); 
ValorBusca.setText("Select ID_pl, pl_name from Planogram_HEAD"); 
connect = CONN("sa", "Zxc123456", "Market", "10.0.2.2:1433"); 
} 

//create classes 
@SuppressLint("NewApi") 
private Connection CONN (String _user, String _pass, 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("net.sourceforge.jtds.jdbc.Driver"); 
     ConnUrl = "jdbc:jtds:sqlserver://"+ _server + ";" + "databaseName=" + _DB + ";user=" + _user + ";password=" + _pass + ";"; 
     conn = DriverManager.getConnection(ConnUrl); 

    } catch (SQLException se) { 
     Log.e("ERROR", se.getMessage()); 
    } catch (ClassNotFoundException e) { 
     Log.e("ERROR", e.getMessage()); 
    } catch (Exception e) { 
     Log.e("ERROR", e.getMessage()); 
    } 
    System.out.println("connected"); 
    return conn; 
} 


public void QuerySQL (String COMANDOSQL) { 
    ResultSet rs; 
    try { 
     Statement statement = connect.createStatement(); 
     rs = statement.executeQuery(COMANDOSQL); 
     //configuring of simple Adapter 

     List<Map<String, String>> data = null; 
     data = new ArrayList<Map<String, String>>(); 

     while(rs.next()) { 
      Map<String, String> datanum = new HashMap<String, String>(); 
      datanum.put("A", rs.getString("ID_pl")); 
      datanum.put("B", rs.getString("pl_name")); 
      data.add(datanum); 
     } 

     String[] from = {"A", "B"}; 
     int[] views = {R.id.tex_title, R.id.text_content}; 
     AD = new SimpleAdapter(this, data, R.layout.model, from, views); 
     Lista.setAdapter(AD); 
} catch (Exception e) { 
     Log.e("ERROR", e.getMessage()); 
    } 

} 

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

    inicializar(); 
    EXECUTAR.setOnClickListener(new OnClickListener() { 
     public void onClick(View v){ 
      QuerySQL(ValorBusca.getText().toString()); 
     } 
    }); 
} 

}

ответ

0

Я нашел проблему. Весь код правильный, мне просто нужно добавить «экземпляр» к URL-адресу и установить ALLIP = 1433 в «Менеджер конфигурации SQL Server».

Спасибо за внимание! BR, Makpal

Смежные вопросы