質問編集履歴

7

変更

2017/04/18 11:28

投稿

edoooooo
edoooooo

スコア478

test CHANGED
@@ -1 +1 @@
1
- android.database.sqlite.SQLiteException: near ".": syntax error ます。
1
+ java.lang.NullPointerExceptionがます。どうぞよろしくお願いします。
test CHANGED
@@ -1,12 +1,6 @@
1
- android.database.sqlite.SQLiteException: near ".": syntax error がでます。
1
+ java.lang.NullPointerException String idd = c.getString(c.getColumnIndex(UserContract.Users._ID));
2
-
3
-
4
-
5
- SELECT文を代入したString sqlを
2
+
6
-
7
- Cursor c =db.rawQuery(sql,null);とするとエラーがでます。
3
+ でます。
8
-
9
- SELECTに "."のsyntaxエラーがあるとのエラーが出ていますが、どこなのかがわかりません。
10
4
 
11
5
 
12
6
 

6

変更

2017/04/18 11:28

投稿

edoooooo
edoooooo

スコア478

test CHANGED
File without changes
test CHANGED
@@ -1,12 +1,14 @@
1
+ android.database.sqlite.SQLiteException: near ".": syntax error がでます。
2
+
3
+
4
+
5
+ SELECT文を代入したString sqlを
6
+
1
- id=c.getInt(UserContract.Users._ID);
7
+ Cursor c =db.rawQuery(sql,null);とするとエラーがでます。
2
-
8
+
3
- コードにNullPointerます。
9
+ SELECTに "."syntaxエラーあるとのエラーが出ていますが、どこなのかがわかりません
4
-
5
-
6
-
7
- 何が問題なのでしょうか?
10
+
8
-
9
- アドバイスをいただけないでしょうか?
11
+
10
12
 
11
13
  どうぞ宜しくお願い致します。
12
14
 

5

修正

2017/04/18 11:22

投稿

edoooooo
edoooooo

スコア478

test CHANGED
File without changes
test CHANGED
@@ -156,6 +156,8 @@
156
156
 
157
157
 
158
158
 
159
+ ////////この下の列にエラーが出ます。
160
+
159
161
  Cursor c =db.rawQuery(sql,null);
160
162
 
161
163
 

4

コードを最新に変更

2017/04/18 11:20

投稿

edoooooo
edoooooo

スコア478

test CHANGED
@@ -1 +1 @@
1
- id=c.getInt(UserContract.Users._ID); に、NullPointerがでます。
1
+ android.database.sqlite.SQLiteException: near ".": syntax error がでます。
test CHANGED
@@ -22,26 +22,30 @@
22
22
 
23
23
  public class MainActivity extends AppCompatActivity {
24
24
 
25
- // ListView 用アダプタ
25
+
26
26
 
27
27
  SimpleAdapter mAdapter = null;
28
28
 
29
- // ListView に設定するデーた
29
+
30
30
 
31
31
  List<Map<String, String>> mList = null;
32
32
 
33
33
 
34
34
 
35
- //新しく追加ListView
36
-
37
35
  ListView list=null;
38
36
 
37
+
38
+
39
39
  SQLiteDatabase db=null;
40
40
 
41
41
 
42
42
 
43
43
 
44
44
 
45
+
46
+
47
+
48
+
45
49
  @Override
46
50
 
47
51
  protected void onCreate(Bundle savedInstanceState) {
@@ -64,7 +68,7 @@
64
68
 
65
69
 
66
70
 
67
- //db.execSQL(CREATE_TABLE);
71
+ db.execSQL(CREATE_TABLE);
68
72
 
69
73
 
70
74
 
@@ -84,7 +88,7 @@
84
88
 
85
89
  mList,
86
90
 
87
- //独自で定義したlayoutを適応する
91
+
88
92
 
89
93
  android.R.layout.simple_list_item_2,
90
94
 
@@ -96,16 +100,10 @@
96
100
 
97
101
 
98
102
 
99
- // ListView にアダプターをセット
100
-
101
103
  list.setAdapter(mAdapter);
102
104
 
103
105
 
104
106
 
105
-
106
-
107
- // ListView のアイテム選択イベント
108
-
109
107
  list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
110
108
 
111
109
 
@@ -116,12 +114,12 @@
116
114
 
117
115
 
118
116
 
117
+
118
+
119
119
  Intent intent = new Intent(MainActivity.this, EditActivity.class);
120
120
 
121
121
 
122
122
 
123
- // //これは編集だから から文字にする
124
-
125
123
  intent.putExtra("INSERT","");
126
124
 
127
125
 
@@ -136,47 +134,43 @@
136
134
 
137
135
 
138
136
 
139
- Cursor c;
137
+ String title1= mList.get(pos).get("title");
140
-
138
+
141
- c=db.query(
139
+ String content1=mList.get(pos).get("content");
140
+
142
-
141
+ String data1=mList.get(pos).get("data");
142
+
143
+
144
+
145
+
146
+
147
+
148
+
143
- UserContract.Users.TABLE_NAME,
149
+ String sql="SELECT * FROM UserContract.Users.TABLE_NAME\n" +
144
-
145
- null,//fields
150
+
146
-
147
- null,//where
148
-
149
- null,//where arg ここでは、多分何もせずに、全件取得して、リストに入れる
151
+ " WHERE UserContract.Users.COL_TITLE== title1\n" +
152
+
150
-
153
+ " AND UserContract.Users.COL_CONTENT == content1\")\n" +
154
+
155
+ " AND UserContract.Users.COL_DATA==data1\")";
156
+
157
+
158
+
151
- null,//groupBy
159
+ Cursor c =db.rawQuery(sql,null);
152
-
153
- null,//having
160
+
154
-
155
- null,//order by
161
+
156
-
157
- null
158
-
159
- );
160
-
161
-
162
-
163
-
164
162
 
165
163
 
166
164
 
167
165
  if(c.moveToFirst()) {
168
166
 
169
- ///////////////この下にNullPointerがでます。
170
-
171
167
  String idd = c.getString(c.getColumnIndex(UserContract.Users._ID));
172
168
 
173
169
 
174
170
 
175
171
 
176
172
 
177
-
178
-
179
- System.out.println(idd);
173
+ System.out.println(idd);
180
174
 
181
175
 
182
176
 
@@ -184,10 +178,6 @@
184
178
 
185
179
 
186
180
 
187
- //ここにデータベースから取得した値をいれる
188
-
189
-
190
-
191
181
  intent.putExtra("ID", idd);
192
182
 
193
183
  }
@@ -212,7 +202,13 @@
212
202
 
213
203
 
214
204
 
205
+
206
+
207
+
208
+
209
+
210
+
215
- @Override
211
+ @Override
216
212
 
217
213
  protected void onResume() {
218
214
 
@@ -220,17 +216,21 @@
220
216
 
221
217
 
222
218
 
219
+ //open helper
220
+
221
+ //open db memoDBHelperに変更
222
+
223
223
  MemoDBHelper memoDBHelper=new MemoDBHelper(this);
224
224
 
225
225
  SQLiteDatabase db=memoDBHelper.getWritableDatabase();
226
226
 
227
227
 
228
228
 
229
- mList.clear();
229
+ mList.clear();
230
-
231
-
232
-
230
+
231
+
232
+
233
- Integer id=null;
233
+ String id=null;
234
234
 
235
235
  String title = null;
236
236
 
@@ -240,6 +240,12 @@
240
240
 
241
241
 
242
242
 
243
+ //ここからコピペ
244
+
245
+
246
+
247
+ //これはselect
248
+
243
249
  Cursor c;
244
250
 
245
251
  c=db.query(
@@ -250,7 +256,7 @@
250
256
 
251
257
  null,//where
252
258
 
253
- null,//where arg ここでは、全件取得して、リストに入れる
259
+ null,//where arg ここでは、多分何もせずに、全件取得して、リストに入れる
254
260
 
255
261
  null,//groupBy
256
262
 
@@ -272,13 +278,11 @@
272
278
 
273
279
  while(c.moveToNext()){
274
280
 
275
-
276
-
277
- ///////このしたでNullPointerが発生しています。
281
+
278
-
282
+
279
- id=c.getInt(UserContract.Users._ID);
283
+ // id=c.getString(c.getColumnIndex(UserContract.Users._ID));
280
-
284
+
281
- title=c.getString(c.getColumnIndex(UserContract.Users.COL_TITLE));
285
+ title=c.getString(c.getColumnIndex(UserContract.Users.COL_TITLE));
282
286
 
283
287
  content=c.getString(c.getColumnIndex(UserContract.Users.COL_CONTENT));
284
288
 
@@ -306,8 +310,6 @@
306
310
 
307
311
 
308
312
 
309
-
310
-
311
313
  c.close();
312
314
 
313
315
 
@@ -324,77 +326,75 @@
324
326
 
325
327
  }
326
328
 
329
+
330
+
331
+
332
+
327
333
  }
328
334
 
329
335
 
330
336
 
337
+
338
+
331
339
  ```
332
340
 
333
341
  ```java
334
342
 
335
343
  E/AndroidRuntime: FATAL EXCEPTION: main
336
344
 
337
- java.lang.RuntimeException: Unable to resume activity {com.example.android.sample.memo/com.example.android.sample.memo.MainActivity}: java.lang.NullPointerException
338
-
339
- at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2595)
340
-
341
- at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2623)
342
-
343
- at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2100)
344
-
345
- at android.app.ActivityThread.access$600(ActivityThread.java:137)
346
-
347
- at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1206)
348
-
349
- at android.os.Handler.dispatchMessage(Handler.java:99)
350
-
351
- at android.os.Looper.loop(Looper.java:213)
352
-
353
- at android.app.ActivityThread.main(ActivityThread.java:4786)
354
-
355
- at java.lang.reflect.Method.invokeNative(Native Method)
356
-
357
- at java.lang.reflect.Method.invoke(Method.java:511)
358
-
359
- at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789)
360
-
361
- at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:556)
362
-
363
- at dalvik.system.NativeStart.main(Native Method)
364
-
365
- Caused by: java.lang.NullPointerException
366
-
367
- at com.example.android.sample.memo.MainActivity.onResume(MainActivity.java:196)
368
-
369
- at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1184)
370
-
371
- at android.app.Activity.performResume(Activity.java:5082)
372
-
373
- at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2585)
374
-
375
- at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2623) 
376
-
377
- at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2100) 
378
-
379
- at android.app.ActivityThread.access$600(ActivityThread.java:137) 
380
-
381
- at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1206) 
382
-
383
- at android.os.Handler.dispatchMessage(Handler.java:99) 
384
-
385
- at android.os.Looper.loop(Looper.java:213) 
386
-
387
- at android.app.ActivityThread.main(ActivityThread.java:4786) 
388
-
389
- at java.lang.reflect.Method.invokeNative(Native Method) 
390
-
391
- at java.lang.reflect.Method.invoke(Method.java:511) 
392
-
393
- at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789) 
394
-
395
- at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:556) 
396
-
397
- at dalvik.system.NativeStart.main(Native Method) 
345
+ android.database.sqlite.SQLiteException: near ".": syntax error (code 1): , while compiling: SELECT * FROM UserContract.Users.TABLE_NAME
346
+
347
+ WHERE UserContract.Users.COL_TITLE== title1
348
+
349
+ AND UserContract.Users.COL_CONTENT == content1")
350
+
351
+ AND UserContract.Users.COL_DATA==data1")
352
+
353
+ at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
354
+
355
+ at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:893)
356
+
357
+ at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:504)
358
+
359
+ at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
360
+
361
+ at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:58)
362
+
363
+ at android.database.sqlite.SQLiteQuery.<init>(SQLiteQuery.java:37)
364
+
365
+ at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:44)
366
+
367
+ at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1322)
368
+
369
+ at android.database.sqlite.SQLiteDatabase.rawQuery(SQLiteDatabase.java:1261)
370
+
371
+ at com.example.android.sample.memo.MainActivity$1.onItemClick(MainActivity.java:148)
372
+
373
+ at android.widget.AdapterView.performItemClick(AdapterView.java:298)
374
+
375
+ at android.widget.AbsListView.performItemClick(AbsListView.java:1086)
376
+
377
+ at android.widget.AbsListView$PerformClick.run(AbsListView.java:2859)
378
+
379
+ at android.widget.AbsListView$1.run(AbsListView.java:3533)
380
+
381
+ at android.os.Handler.handleCallback(Handler.java:615)
382
+
383
+ at android.os.Handler.dispatchMessage(Handler.java:92)
384
+
385
+ at android.os.Looper.loop(Looper.java:213)
386
+
387
+ at android.app.ActivityThread.main(ActivityThread.java:4786)
388
+
389
+ at java.lang.reflect.Method.invokeNative(Native Method)
390
+
391
+ at java.lang.reflect.Method.invoke(Method.java:511)
392
+
393
+ at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789)
394
+
395
+ at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:556)
396
+
397
+ at dalvik.system.NativeStart.main(Native Method)
398
398
 
399
399
 
400
400
 

3

コードの追加

2017/04/18 11:19

投稿

edoooooo
edoooooo

スコア478

test CHANGED
File without changes
test CHANGED
@@ -324,6 +324,8 @@
324
324
 
325
325
  }
326
326
 
327
+ }
328
+
327
329
 
328
330
 
329
331
  ```

2

コードのついか

2017/04/18 07:34

投稿

edoooooo
edoooooo

スコア478

test CHANGED
File without changes
test CHANGED
@@ -12,8 +12,206 @@
12
12
 
13
13
 
14
14
 
15
+
16
+
15
17
  ```java
16
18
 
19
+
20
+
21
+
22
+
23
+ public class MainActivity extends AppCompatActivity {
24
+
25
+ // ListView 用アダプタ
26
+
27
+ SimpleAdapter mAdapter = null;
28
+
29
+ // ListView に設定するデーた
30
+
31
+ List<Map<String, String>> mList = null;
32
+
33
+
34
+
35
+ //新しく追加ListView
36
+
37
+ ListView list=null;
38
+
39
+ SQLiteDatabase db=null;
40
+
41
+
42
+
43
+
44
+
45
+ @Override
46
+
47
+ protected void onCreate(Bundle savedInstanceState) {
48
+
49
+ super.onCreate(savedInstanceState);
50
+
51
+ setContentView(R.layout.activity_main);
52
+
53
+
54
+
55
+
56
+
57
+ MemoDBHelper memoDBHelper=new MemoDBHelper(this);
58
+
59
+ db=memoDBHelper.getWritableDatabase();
60
+
61
+
62
+
63
+
64
+
65
+
66
+
67
+ //db.execSQL(CREATE_TABLE);
68
+
69
+
70
+
71
+
72
+
73
+
74
+
75
+ ListView list = (ListView) findViewById(R.id.listView);
76
+
77
+ mList = new ArrayList<Map<String, String>>();
78
+
79
+
80
+
81
+
82
+
83
+ mAdapter = new SimpleAdapter(this,
84
+
85
+ mList,
86
+
87
+ //独自で定義したlayoutを適応する
88
+
89
+ android.R.layout.simple_list_item_2,
90
+
91
+ new String[]{"title", "content", "data"}, //Map側のkey
92
+
93
+ new int[]{android.R.id.text1, android.R.id.text2, R.id.eTxtData} //layout側のTextViewId 表示させたいMapのkey順に合わせる
94
+
95
+ );
96
+
97
+
98
+
99
+ // ListView にアダプターをセット
100
+
101
+ list.setAdapter(mAdapter);
102
+
103
+
104
+
105
+
106
+
107
+ // ListView のアイテム選択イベント
108
+
109
+ list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
110
+
111
+
112
+
113
+ @Override
114
+
115
+ public void onItemClick(AdapterView<?> parent, View view, int pos, long id) {
116
+
117
+
118
+
119
+ Intent intent = new Intent(MainActivity.this, EditActivity.class);
120
+
121
+
122
+
123
+ // //これは編集だから から文字にする
124
+
125
+ intent.putExtra("INSERT","");
126
+
127
+
128
+
129
+ intent.putExtra("TITLE", mList.get(pos).get("title"));
130
+
131
+ intent.putExtra("CONTENT", mList.get(pos).get("content"));
132
+
133
+ intent.putExtra("DATA", mList.get(pos).get("data"));
134
+
135
+
136
+
137
+
138
+
139
+ Cursor c;
140
+
141
+ c=db.query(
142
+
143
+ UserContract.Users.TABLE_NAME,
144
+
145
+ null,//fields
146
+
147
+ null,//where
148
+
149
+ null,//where arg ここでは、多分何もせずに、全件取得して、リストに入れる
150
+
151
+ null,//groupBy
152
+
153
+ null,//having
154
+
155
+ null,//order by
156
+
157
+ null
158
+
159
+ );
160
+
161
+
162
+
163
+
164
+
165
+
166
+
167
+ if(c.moveToFirst()) {
168
+
169
+ ///////////////この下にNullPointerがでます。
170
+
171
+ String idd = c.getString(c.getColumnIndex(UserContract.Users._ID));
172
+
173
+
174
+
175
+
176
+
177
+
178
+
179
+ System.out.println(idd);
180
+
181
+
182
+
183
+ c.close();
184
+
185
+
186
+
187
+ //ここにデータベースから取得した値をいれる
188
+
189
+
190
+
191
+ intent.putExtra("ID", idd);
192
+
193
+ }
194
+
195
+
196
+
197
+ startActivity(intent);
198
+
199
+ }
200
+
201
+ });
202
+
203
+
204
+
205
+ // ListView をコンテキストメニューに登録
206
+
207
+ registerForContextMenu(list);
208
+
209
+ }
210
+
211
+
212
+
213
+
214
+
17
215
  @Override
18
216
 
19
217
  protected void onResume() {

1

誤字

2017/04/18 07:33

投稿

edoooooo
edoooooo

スコア478

test CHANGED
File without changes
test CHANGED
@@ -76,7 +76,9 @@
76
76
 
77
77
 
78
78
 
79
- ///////このしたでNullPointerが発生しています。 id=c.getInt(UserContract.Users._ID);
79
+ ///////このしたでNullPointerが発生しています。
80
+
81
+ id=c.getInt(UserContract.Users._ID);
80
82
 
81
83
  title=c.getString(c.getColumnIndex(UserContract.Users.COL_TITLE));
82
84