2012-12-20 253 views
0

我試圖發送一些信息到我的mysql數據庫點擊一個按鈕後,但我的屏幕凍結,然後退出。 下面是代碼:屏幕凍結,應用程序退出

b1.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) 
     { 
      try 
      { 
       new SendInfo(email.getText().toString(),password.getText().toString()); 
      }catch(Exception e){ 
       error.setText((CharSequence) e); 
      } 

     } 
    }); 

這裏是SendInfo類:

public SendInfo(String email, String pass) throws Exception 
{ 
    Connection conn = null; 
    String url = "jdbc:mysql://ip...:3306/"; // info changed 
    String dbName = "db"; //info changed 
    String driver = "com.mysql.jdbc.Driver"; 
    String userName = "user"; //info changed 
    String password = "pass"; //info changed 
    String table = "users"; 

    Class.forName(driver).newInstance(); 
    DriverManager.setLoginTimeout(100); 
    conn = DriverManager.getConnection(url+dbName,userName,password); 

    Statement st = conn.createStatement(); 
    java.util.Calendar cal = java.util.Calendar.getInstance(); 
    java.util.Date utilDate = cal.getTime(); 
    java.sql.Date sqlDate = new Date(utilDate.getTime()); 

    st.executeUpdate("INSERT INTO users VALUES('1','Komal','asd',"+sqlDate+")"); 
    conn.close(); 

} 

我甚至沒有用,我得到的參數值,使其更容易,但它仍然沒有工作。

+1

你的LogCat說什麼? –

+1

您是否收到「應用程序未響應」對話框?它看起來像你試圖在主線程上執行網絡操作... – Sam

+0

看起來你正在UI線程上執行阻塞操作。這是在玩火。 UI線程是第三條軌道,觸摸它,Android可能決定在現場炒你的應用程序。 – debracey

回答

0

看起來像以下行所作的錯誤:

error.setText((CharSequence) e); 

更改成

error.setText(e.toString()); 

固定它。