package com.example.test;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import android.app.Activity;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class MainActivity extends Activity {
	
	ListView listView;
	ArrayList<String> list;
	ArrayAdapter<String> adapter;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    	
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
     	
                
		list = new ArrayList<String>();
    	adapter = new ArrayAdapter<String>(this,  android.R.layout.simple_list_item_1, list);
    	listView = (ListView)findViewById(R.id.list);
    	listView.setAdapter(adapter);
       	
    	handler.sendEmptyMessage(1);
     	
    }
    
	final Handler handler = new Handler(){
		   public void handleMessage(Message msg){
		           super.handleMessage(msg);
		          
		           Log.d("Log", "1 sec");
		           new MyAsyncTask().execute();
		           
		           this.sendEmptyMessageDelayed(0, 1000);
		          
		   }
		};
	
    public void query2()
    {
	    Log.i("Android"," MSSQL Connect Example.");
	    Connection conn = null;
	    
	    
	    
	    try {
	
			    Class.forName("net.sourceforge.jtds.jdbc.Driver").newInstance();
			    Log.i("Connection","MSSQL driver load");
			    
			    conn = DriverManager.getConnection("jdbc:jtds:sqlserver://서버주소/DB이름","아이디","패스워드");
			    Log.i("Connection","MSSQL open");
			    Statement stmt = conn.createStatement();
			    ResultSet reset = stmt.executeQuery("select * from v_state where userid='camc'");
			
			    
			    //Print the data to the console
			    while(reset.next()){
			    	list.add(reset.getString(12)+" "+reset.getString(1)+" "+reset.getString(4)+" "+reset.getString(5)+" "+reset.getString(6));
			    }
			    
			    conn.close();
	    	} 
	    
	    catch (Exception e)
		    {
		    	Log.w("Error connection","" + e.getMessage());
		    }
	  }
    
    
    
    public class MyAsyncTask extends AsyncTask<String, String, String>{
    	 
       // @Override
        protected void onPreExecute() {
        	list.clear();
        }
         
       // @Override
        protected String doInBackground(String... params) {
             
			query2();	 	
			
			return null;
        }
         
        //@Override
        protected void onPostExecute(String result) {
        	adapter.notifyDataSetChanged();
        }
         
        //@Override
        protected void onCancelled() {
            super.onCancelled();
        }
    }
}
	 
	Logcat에 아래같은 메시지가 뜨면서 에러가 나버립니다..
	 
	02-18 19:36:13.458: E/InputEventReceiver(7082): Exception dispatching input event.