質問編集履歴

3

誤字訂正、微修正

2025/06/03 00:45

投稿

gucchi61
gucchi61

スコア1

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.5.102:1433/mataiDB;";
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 = "SAadmin123";
115
+ private static final String PASS = "xxxxx";
117
116
 
118
117
  String errMSS = "err発生";
119
118
 

2

AsyncTaskで非同期処理とした。

2025/06/02 10:53

投稿

gucchi61
gucchi61

スコア1

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 userName;
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.XXX:1433/DBNAME;";
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 = "xxxxx";
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
- if (objCon != null) {
144
+ objCon.close();
145
+
146
+ } catch (Exception e) {
89
- //System.out.println("接続成功!");
147
+ e.printStackTrace();
90
- Log.d("LogD", "接続成功!");
148
+ Log.d("LogD", errMSS + ":" + DB_URL);
91
- } else {
92
- //System.out.println("接続失敗...");
93
- Log.d("LogD", "接続失敗...");
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
- stmt.close();
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
- return result;
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

ソースコード整理し、全体を記載ました(実際のソースよりも簡略化)

2025/06/02 02:18

投稿

gucchi61
gucchi61

スコア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.X.XXX:1433/DBNAME;";
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 = "xxxxxx";
74
+ private static final String PASS = "xxxxx";
27
75
 
28
- String errMSS = "errだよ";
76
+ String errMSS = "err発生";
29
77
 
30
- protected String doInBackground(String... urls) {
78
+ protected String doInBackground(String... params) {
31
- // public String getData() {
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等で検索した