質問編集履歴
3
誤字訂正、微修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -110,10 +110,9 @@
|
|
110
110
|
|
111
111
|
public class MSSQLConnection extends AsyncTask<String, Void, String> {
|
112
112
|
|
113
|
-
//private static final String DB_URL = "jdbc:sqlserver://10.100.5.102;databaseName=mataiDB;user=sa;password=SAAdmin123";
|
114
|
-
private static final String DB_URL = "jdbc:jtds:sqlserver://10.100.
|
113
|
+
private static final String DB_URL = "jdbc:jtds:sqlserver://10.100.XXX.XXX:1433/DBNAME;";
|
115
114
|
private static final String USER = "sa";
|
116
|
-
private static final String PASS = "
|
115
|
+
private static final String PASS = "xxxxx";
|
117
116
|
|
118
117
|
String errMSS = "err発生";
|
119
118
|
|
2
AsyncTaskで非同期処理とした。
test
CHANGED
File without changes
|
test
CHANGED
@@ -21,25 +21,60 @@
|
|
21
21
|
```Java
|
22
22
|
package jp.ne.newest.android.handysystem;
|
23
23
|
|
24
|
+
import android.os.Bundle;
|
25
|
+
import android.text.InputType;
|
26
|
+
import android.view.View;
|
24
27
|
import android.widget.Button;
|
25
28
|
import android.widget.EditText;
|
26
29
|
|
27
30
|
import androidx.appcompat.app.AppCompatActivity;
|
28
31
|
|
32
|
+
/**
|
33
|
+
* ハンディーターミナルシステム
|
34
|
+
* ログイン
|
35
|
+
* メインアクティビティクラス
|
36
|
+
*
|
37
|
+
* @author OA Promotion Center Co. Ltd.
|
38
|
+
*
|
39
|
+
* 2025/05/26 新規作成
|
40
|
+
*/
|
29
41
|
public class LoginActivity extends AppCompatActivity {
|
30
42
|
|
43
|
+
public static String gUserId = "";
|
31
|
-
String
|
44
|
+
public static String gUserName = "";
|
32
45
|
|
33
46
|
@Override
|
34
47
|
protected void onCreate(Bundle savedInstanceState) {
|
35
48
|
super.onCreate(savedInstanceState);
|
36
49
|
setContentView(R.layout.activity_login);
|
37
50
|
|
51
|
+
// ログインボタンであるButtonオブジェクトを取得
|
52
|
+
Button btClick = findViewById(R.id.btLogin);
|
38
|
-
// リスナクラスのインスタンスを生成
|
53
|
+
// リスナクラスのインスタンスを生成
|
39
54
|
LoginListener listener = new LoginListener();
|
40
|
-
// ログインボタンにリスナを設定
|
55
|
+
// ログインボタンにリスナを設定
|
41
56
|
btClick.setOnClickListener(listener);
|
42
57
|
}
|
58
|
+
|
59
|
+
/**
|
60
|
+
* ログインボタンをクリックしたときのリスナクラス。
|
61
|
+
*/
|
62
|
+
private class LoginListener implements View.OnClickListener {
|
63
|
+
@Override
|
64
|
+
public void onClick(View view) {
|
65
|
+
|
66
|
+
// ユーザーID入力欄であるEditTextオブジェクトを取得
|
67
|
+
EditText input = findViewById(R.id.etUser);
|
68
|
+
// 入力候補非表示
|
69
|
+
input.setInputType(InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
|
70
|
+
// 入力されたユーザーID文字列を取得
|
71
|
+
gUserId = input.getText().toString();
|
72
|
+
// ユーザー検索(非同期処理)
|
73
|
+
String sql = "select STRVAL from XMNGE where entry = '" + gUserId + "'";
|
74
|
+
new MSSQLConnection(LoginActivity.this).execute(sql);
|
75
|
+
}
|
76
|
+
}
|
77
|
+
}
|
43
78
|
|
44
79
|
/**
|
45
80
|
* ログインボタンをクリックしたときのリスナクラス。
|
@@ -59,6 +94,12 @@
|
|
59
94
|
**************************************************************************
|
60
95
|
package jp.ne.newest.android.handysystem;
|
61
96
|
|
97
|
+
import static androidx.core.content.ContextCompat.startActivity;
|
98
|
+
import static jp.ne.newest.android.handysystem.LoginActivity.gUserId;
|
99
|
+
import static jp.ne.newest.android.handysystem.LoginActivity.gUserName;
|
100
|
+
|
101
|
+
import android.content.Context;
|
102
|
+
import android.content.Intent;
|
62
103
|
import android.os.AsyncTask;
|
63
104
|
import android.util.Log;
|
64
105
|
|
@@ -69,49 +110,61 @@
|
|
69
110
|
|
70
111
|
public class MSSQLConnection extends AsyncTask<String, Void, String> {
|
71
112
|
|
113
|
+
//private static final String DB_URL = "jdbc:sqlserver://10.100.5.102;databaseName=mataiDB;user=sa;password=SAAdmin123";
|
72
|
-
private static final String DB_URL = "jdbc:jtds:sqlserver://10.100.5.
|
114
|
+
private static final String DB_URL = "jdbc:jtds:sqlserver://10.100.5.102:1433/mataiDB;";
|
73
115
|
private static final String USER = "sa";
|
74
|
-
private static final String PASS = "
|
116
|
+
private static final String PASS = "SAadmin123";
|
75
117
|
|
76
118
|
String errMSS = "err発生";
|
77
119
|
|
120
|
+
private final Context context;
|
121
|
+
|
122
|
+
protected MSSQLConnection(Context context) {
|
123
|
+
this.context = context;
|
124
|
+
}
|
125
|
+
|
78
126
|
protected String doInBackground(String... params) {
|
79
127
|
|
80
|
-
String result = "";
|
128
|
+
String result = "";
|
81
129
|
|
82
|
-
try {
|
130
|
+
try {
|
83
|
-
Log.d("LogD", "接続中");
|
84
|
-
//ドライバを指定
|
131
|
+
//ドライバを指定
|
85
|
-
Class.forName("net.sourceforge.jtds.jdbc.Driver");
|
132
|
+
Class.forName("net.sourceforge.jtds.jdbc.Driver");
|
86
|
-
Connection objCon = DriverManager.getConnection(DB_URL, USER, PASS);
|
133
|
+
Connection objCon = DriverManager.getConnection(DB_URL, USER, PASS);
|
134
|
+
// SQL実行
|
135
|
+
PreparedStatement stmt = objCon.prepareStatement(params[0]);
|
136
|
+
ResultSet rs = stmt.executeQuery();
|
87
137
|
|
138
|
+
while (rs.next()) {
|
139
|
+
result += rs.getString(1);
|
140
|
+
}
|
141
|
+
|
142
|
+
rs.close();
|
143
|
+
stmt.close();
|
88
|
-
|
144
|
+
objCon.close();
|
145
|
+
|
146
|
+
} catch (Exception e) {
|
89
|
-
|
147
|
+
e.printStackTrace();
|
90
|
-
Log.d("LogD", "
|
148
|
+
Log.d("LogD", errMSS + ":" + DB_URL);
|
91
|
-
} else {
|
92
|
-
//System.out.println("接続失敗...");
|
93
|
-
|
149
|
+
result = result + "接続エラー";
|
94
150
|
}
|
95
|
-
PreparedStatement stmt = objCon.prepareStatement(params[0]);
|
96
|
-
ResultSet rs = stmt.executeQuery(params[0]);
|
97
|
-
|
98
|
-
while (rs.next()) {
|
99
|
-
result += rs.getString("STRVAL");
|
100
|
-
}
|
101
|
-
|
102
|
-
rs.close();
|
103
|
-
st
|
151
|
+
return result;
|
104
|
-
objCon.close();
|
105
|
-
|
106
|
-
} catch (Exception e) {
|
107
|
-
e.printStackTrace();
|
108
|
-
Log.d("LogD", errMSS + ":" + DB_URL);
|
109
|
-
result = result + "接続エラー";
|
110
152
|
}
|
111
153
|
|
154
|
+
protected void onPostExecute (String result) {
|
155
|
+
// インテントオブジェクトを生成
|
156
|
+
super.onPostExecute(result);
|
157
|
+
Intent intent = new Intent(this.context, MenuActivity.class);
|
158
|
+
// メニュー画面に送るデータを格納
|
112
|
-
re
|
159
|
+
gUserName = result;
|
160
|
+
intent.putExtra("userId", gUserId);
|
161
|
+
intent.putExtra("userName", gUserName);
|
162
|
+
|
163
|
+
// メニュー画面の起動
|
164
|
+
startActivity(intent);
|
113
|
-
}
|
165
|
+
}
|
114
166
|
}
|
167
|
+
|
115
168
|
|
116
169
|
### 試したこと・調べたこと
|
117
170
|
- [x] teratailやGoogle等で検索した
|
1
ソースコード整理し、全体を記載ました(実際のソースよりも簡略化)
test
CHANGED
File without changes
|
test
CHANGED
@@ -19,27 +19,99 @@
|
|
19
19
|
### 該当のソースコード
|
20
20
|
|
21
21
|
```Java
|
22
|
+
package jp.ne.newest.android.handysystem;
|
23
|
+
|
24
|
+
import android.widget.Button;
|
25
|
+
import android.widget.EditText;
|
26
|
+
|
27
|
+
import androidx.appcompat.app.AppCompatActivity;
|
28
|
+
|
29
|
+
public class LoginActivity extends AppCompatActivity {
|
30
|
+
|
31
|
+
String userName;
|
32
|
+
|
33
|
+
@Override
|
34
|
+
protected void onCreate(Bundle savedInstanceState) {
|
35
|
+
super.onCreate(savedInstanceState);
|
36
|
+
setContentView(R.layout.activity_login);
|
37
|
+
|
38
|
+
// リスナクラスのインスタンスを生成。
|
39
|
+
LoginListener listener = new LoginListener();
|
40
|
+
// ログインボタンにリスナを設定。
|
41
|
+
btClick.setOnClickListener(listener);
|
42
|
+
}
|
43
|
+
|
44
|
+
/**
|
45
|
+
* ログインボタンをクリックしたときのリスナクラス。
|
46
|
+
*/
|
47
|
+
private class LoginListener implements View.OnClickListener {
|
48
|
+
@Override
|
49
|
+
public void onClick(View view) {
|
50
|
+
|
51
|
+
// ユーザー検索
|
52
|
+
String sql = "select STRVAL from XMNGE where entry = '1111'";
|
53
|
+
gUserName = String.valueOf(new MSSQLConnection().doInBackground(sql));
|
54
|
+
|
55
|
+
}
|
56
|
+
}
|
57
|
+
}
|
58
|
+
|
59
|
+
**************************************************************************
|
60
|
+
package jp.ne.newest.android.handysystem;
|
61
|
+
|
62
|
+
import android.os.AsyncTask;
|
63
|
+
import android.util.Log;
|
64
|
+
|
65
|
+
import java.sql.Connection;
|
66
|
+
import java.sql.DriverManager;
|
67
|
+
import java.sql.PreparedStatement;
|
68
|
+
import java.sql.ResultSet;
|
69
|
+
|
22
70
|
public class MSSQLConnection extends AsyncTask<String, Void, String> {
|
23
71
|
|
24
|
-
private static final String DB_URL = "jdbc:jtds:sqlserver://10.100.
|
72
|
+
private static final String DB_URL = "jdbc:jtds:sqlserver://10.100.5.XXX:1433/DBNAME;";
|
25
73
|
private static final String USER = "sa";
|
26
|
-
private static final String PASS = "xxxxx
|
74
|
+
private static final String PASS = "xxxxx";
|
27
75
|
|
28
|
-
String errMSS = "err
|
76
|
+
String errMSS = "err発生";
|
29
77
|
|
30
|
-
protected String doInBackground(String...
|
78
|
+
protected String doInBackground(String... params) {
|
31
|
-
|
79
|
+
|
32
80
|
String result = "";
|
81
|
+
|
33
82
|
try {
|
34
83
|
Log.d("LogD", "接続中");
|
35
84
|
//ドライバを指定
|
36
85
|
Class.forName("net.sourceforge.jtds.jdbc.Driver");
|
37
86
|
Connection objCon = DriverManager.getConnection(DB_URL, USER, PASS);
|
87
|
+
|
88
|
+
if (objCon != null) {
|
89
|
+
//System.out.println("接続成功!");
|
90
|
+
Log.d("LogD", "接続成功!");
|
91
|
+
} else {
|
92
|
+
//System.out.println("接続失敗...");
|
93
|
+
Log.d("LogD", "接続失敗...");
|
38
|
-
|
94
|
+
}
|
95
|
+
PreparedStatement stmt = objCon.prepareStatement(params[0]);
|
96
|
+
ResultSet rs = stmt.executeQuery(params[0]);
|
97
|
+
|
98
|
+
while (rs.next()) {
|
99
|
+
result += rs.getString("STRVAL");
|
39
|
-
|
100
|
+
}
|
101
|
+
|
102
|
+
rs.close();
|
103
|
+
stmt.close();
|
104
|
+
objCon.close();
|
105
|
+
|
106
|
+
} catch (Exception e) {
|
107
|
+
e.printStackTrace();
|
108
|
+
Log.d("LogD", errMSS + ":" + DB_URL);
|
109
|
+
result = result + "接続エラー";
|
40
|
-
|
110
|
+
}
|
111
|
+
|
112
|
+
return result;
|
113
|
+
}
|
41
114
|
}
|
42
|
-
```
|
43
115
|
|
44
116
|
### 試したこと・調べたこと
|
45
117
|
- [x] teratailやGoogle等で検索した
|