質問編集履歴

3

書式の改善

2018/12/28 06:14

投稿

Aies
Aies

スコア21

test CHANGED
File without changes
test CHANGED
@@ -16,7 +16,7 @@
16
16
 
17
17
  追記
18
18
 
19
- 【データベースの構造】
19
+ **【データベースの構造】**
20
20
 
21
21
  private static final String PRIMARY_KEY = "date";
22
22
 
@@ -48,9 +48,9 @@
48
48
 
49
49
 
50
50
 
51
- 【データベースへの追加分】
51
+ **【データベースへの追加分】**
52
52
 
53
- //オブジェクトを取得
53
+     //オブジェクトを取得
54
54
 
55
55
  EditText gPrice = (EditText) findViewById(R.id.price);
56
56
 
@@ -102,7 +102,7 @@
102
102
 
103
103
 
104
104
 
105
- 【エラー文】
105
+ **【エラー文】**
106
106
 
107
107
  E/SQLiteLog: (20) statement aborts at 5: [INSERT INTO kakeibodb(date,memo,category,price) VALUES (?,?,?,?)] datatype mismatch
108
108
 

2

エラー文の追記

2018/12/28 06:14

投稿

Aies
Aies

スコア21

test CHANGED
File without changes
test CHANGED
@@ -99,3 +99,13 @@
99
99
  db.insert("kakeibodb", null, values);
100
100
 
101
101
  }
102
+
103
+
104
+
105
+ 【エラー文】
106
+
107
+ E/SQLiteLog: (20) statement aborts at 5: [INSERT INTO kakeibodb(date,memo,category,price) VALUES (?,?,?,?)] datatype mismatch
108
+
109
+ E/SQLiteDatabase: Error inserting date=2018/12/26 memo=b category=食費 price=8
110
+
111
+ android.database.sqlite.SQLiteDatatypeMismatchException: datatype mismatch (code 20 SQLITE_MISMATCH)

1

データソースの追記

2018/12/28 06:12

投稿

Aies
Aies

スコア21

test CHANGED
File without changes
test CHANGED
@@ -11,3 +11,91 @@
11
11
 
12
12
 
13
13
  調べ方が悪いのか、まったく解決しないので、よろしければご助言をお願いします。
14
+
15
+
16
+
17
+ 追記
18
+
19
+ 【データベースの構造】
20
+
21
+ private static final String PRIMARY_KEY = "date";
22
+
23
+ private static final String COLUMN_CATEGORY = "category";
24
+
25
+ private static final String COLUMN_PRICE= "price";
26
+
27
+ private static final String COLUMN_MEMO = "memo";
28
+
29
+ private static final String _ID = "_id";
30
+
31
+
32
+
33
+ private static final String SQL_CREATE_ENTRIES =
34
+
35
+ "CREATE TABLE " + TABLE_NAME + " (" +
36
+
37
+ PRIMARY_KEY + " PRIMARY KEY," +
38
+
39
+ _ID + " INTEGER PRIMARY KEY," +
40
+
41
+ PRIMARY_KEY + " TEXT," +
42
+
43
+ COLUMN_CATEGORY + " TEXT," +
44
+
45
+ COLUMN_PRICE + " INTEGER," +
46
+
47
+ COLUMN_MEMO + " TEXT)";
48
+
49
+
50
+
51
+ 【データベースへの追加分】
52
+
53
+ //オブジェクトを取得
54
+
55
+ EditText gPrice = (EditText) findViewById(R.id.price);
56
+
57
+ Spinner gCategory = (Spinner) findViewById(R.id.category);
58
+
59
+ EditText gMemo = (EditText) findViewById(R.id.memo);
60
+
61
+ EditText gDate = (EditText) findViewById(R.id.date);
62
+
63
+
64
+
65
+ //値を取得
66
+
67
+ final int price = Integer.parseInt(gPrice.getText().toString());
68
+
69
+ final String category = (String)gCategory.getSelectedItem();
70
+
71
+ final String memo = gMemo.getText().toString();
72
+
73
+ final String date = gDate.getText().toString();
74
+
75
+
76
+
77
+ insertData(db, price, category, memo, date);
78
+
79
+ }
80
+
81
+
82
+
83
+ public void insertData(SQLiteDatabase db, int price, String category, String memo, String date){
84
+
85
+
86
+
87
+ ContentValues values = new ContentValues();
88
+
89
+ values.put("date", date);
90
+
91
+ values.put("memo", memo);
92
+
93
+ values.put("category", category);
94
+
95
+ values.put("price", price);
96
+
97
+
98
+
99
+ db.insert("kakeibodb", null, values);
100
+
101
+ }