package
com.example.admin.sqltest;
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.Bundle;
import
android.os.Handler;
import
android.os.Message;
import
android.util.Log;
import
android.view.View;
import
android.widget.ArrayAdapter;
import
android.widget.Button;
import
android.widget.ListView;
import
android.os.AsyncTask;
public
class
MainActivity
extends
Activity {
Connection conn =
null
;
Statement stmt =
null
;
ResultSet reset =
null
;
ArrayList<String> list =
new
ArrayList<String>();
ListView listview;
ArrayAdapter<String> adapter;
MyAsyncTask mTask;
static
String query =
"select * from dbtest "
;
static
String query1 =
"delete from dbtest where no=4"
;
;
@Override
protected
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listview = (ListView) findViewById(R.id.listView);
adapter =
new
ArrayAdapter<String>(
this
, android.R.layout.simple_list_item_1);
listview.setAdapter(adapter);
findViewById(R.id.button).setOnClickListener(mClickListener);
}
Button.OnClickListener mClickListener =
new
View.OnClickListener() {
public
void
onClick(View v) {
switch
(v.getId()) {
case
R.id.button:
Log.i(
""
,
"버튼 호출됨"
);
updateDB();
break
;
}
}
};
public
void
updateDB(){
Log.i(
""
,
"updateDB() 함수 호출"
);
try
{
stmt.executeQuery(query1);
Log.i(
"list 내용 확인 함수 : "
,
""
+ list);
}
catch
(Exception e)
{
Log.w(
"버튼 에러"
,
""
+ e.getMessage());
}
}
@Override
protected
void
onStart() {
super
.onStart();
handler.sendEmptyMessage(
0
);
}
class
MyAsyncTask
extends
AsyncTask<String, Void, ArrayList<String>>
{
@Override
protected
void
onPreExecute(){
super
.onPreExecute();
}
@Override
protected
ArrayList<String> doInBackground( String... params){
try
{
Class.forName(
"net.sourceforge.jtds.jdbc.Driver"
).newInstance();
Log.i(
"Connection"
,
"MSSQL 라이브러리 로드"
);
Log.i(
"Connection"
,
"MSSQL 접속 성공 : "
+conn);
Statement stmt = conn.createStatement();
reset = stmt.executeQuery(query);
while
(reset.next()){
if
( isCancelled() )
break
;
final
String str = reset.getString(
1
)+
" "
+reset.getString(
2
)+
" "
+reset.getString(
3
);
list.add(str);
}
Log.i(
"list 내용 확인 함수 : "
,
""
+ list);
}
catch
(Exception e)
{
Log.w(
"111Error connection"
,
""
+ e.getMessage());
}
return
list;
}
@Override
protected
void
onPostExecute(ArrayList<String> list){
adapter.clear();
adapter.addAll(list);
adapter.notifyDataSetChanged();
}
@Override
protected
void
onCancelled(){
super
.onCancelled();
}
}
public
Handler handler =
new
Handler(){
public
void
handleMessage( Message msg){
super
.handleMessage(msg);
mTask =
new
MyAsyncTask();
mTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR,
""
);
}
};
}