質問編集履歴

7

「売値 integer not null,」を「売値 integer not null」に修正しました。実際のプログラムでも修正しましたが結果は変わりませんでした。

2021/03/21 12:57

投稿

iwanami
iwanami

スコア9

test CHANGED
File without changes
test CHANGED
@@ -134,7 +134,7 @@
134
134
 
135
135
  "買値 integer not null,"
136
136
 
137
- "売値 integer not null,"
137
+ "売値 integer not null"
138
138
 
139
139
  ")";
140
140
 

6

URLをリンクの挿入で記述しました。

2021/03/21 12:57

投稿

iwanami
iwanami

スコア9

test CHANGED
File without changes
test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  sqlite3を以下のサイトを参考にしてVS2017に実装しようとしています。
4
4
 
5
- https://bit.ly/3lxG6Mj
5
+ [https://bit.ly/3lxG6Mj](http://marupeke296.com/SQLITE_main.html)
6
6
 
7
7
 
8
8
 

5

プログラムをコード化しました(修正2)。

2021/03/21 10:32

投稿

iwanami
iwanami

スコア9

test CHANGED
File without changes
test CHANGED
@@ -1,39 +1,39 @@
1
+ DXライブラリを用いてVS2017でゲームを制作している初心者です。
2
+
3
+ sqlite3を以下のサイトを参考にしてVS2017に実装しようとしています。
4
+
5
+ https://bit.ly/3lxG6Mj
6
+
7
+
8
+
9
+ ですが必ず決まった所(あ)でエラーが発生してしまいます。
10
+
11
+ 調べてみると、ItemCallback関数のdata[2]の値が整数を表現していない事が分かりました。
12
+
13
+ data[0],data[1]までは正しい値が入っていたのですが、data[2],data[3],data[4]は0という値にしかなりません。
14
+
15
+ ItemCallback関数の中でどういう処理がされているのか僕には分からないので、どなたか分かる方がいましたらアドバイス頂けると助かります。
16
+
17
+
18
+
19
+ 以下のプログラムはメインプログラムの一部です。
20
+
21
+ 全てを載せると何千行となってしまうので一部だけ載せていますが、sqlite3に用いている部分はここしかなく、また他の部分は何度も確認してエラーが起こらなかったので、間違いがあるなら以下のプログラムの中にしかないと思います。
22
+
23
+
24
+
25
+ (追記)
26
+
27
+ すみませんエラーメッセージを載せるのを忘れていました。
28
+
29
+ 正確にはエラーメッセージではなく、例外処理なのですがそれも載せておきます。
30
+
31
+ 「ハンドルされない例外が 0x00E29026 (game.exe) で発生しました: 無効なパラメーターを致命的と見なす関数に無効なパラメーターが渡されました。」
32
+
33
+
34
+
1
35
  ```C++
2
36
 
3
- DXライブラリを用いてVS2017でゲームを制作している初心者です。
4
-
5
- sqlite3を以下のサイトを参考にしてVS2017に実装しようとしています。
6
-
7
- https://bit.ly/3lxG6Mj
8
-
9
-
10
-
11
- ですが必ず決まった所(あ)でエラーが発生してしまいます。
12
-
13
- 調べてみると、ItemCallback関数のdata[2]の値が整数を表現していない事が分かりました。
14
-
15
- data[0],data[1]までは正しい値が入っていたのですが、data[2],data[3],data[4]は0という値にしかなりません。
16
-
17
- ItemCallback関数の中でどういう処理がされているのか僕には分からないので、どなたか分かる方がいましたらアドバイス頂けると助かります。
18
-
19
-
20
-
21
- 以下のプログラムはメインプログラムの一部です。
22
-
23
- 全てを載せると何千行となってしまうので一部だけ載せていますが、sqlite3に用いている部分はここしかなく、また他の部分は何度も確認してエラーが起こらなかったので、間違いがあるなら以下のプログラムの中にしかないと思います。
24
-
25
-
26
-
27
- (追記)
28
-
29
- すみませんエラーメッセージを載せるのを忘れていました。
30
-
31
- 正確にはエラーメッセージではなく、例外処理なのですがそれも載せておきます。
32
-
33
- 「ハンドルされない例外が 0x00E29026 (game.exe) で発生しました: 無効なパラメーターを致命的と見なす関数に無効なパラメーターが渡されました。」
34
-
35
-
36
-
37
37
  //「アイテムの仕様」のクラス
38
38
 
39
39
  class ITEM_SPEC {
@@ -60,7 +60,7 @@
60
60
 
61
61
  //sqlite3に用いる関数
62
62
 
63
- int CountCallback(void* pOutCount, int size, char** rec, char** ColName) {
63
+ int CountCallback(void* pOutCount, int size, char **rec, char **ColName) {
64
64
 
65
65
  int *count = (int*)pOutCount;
66
66
 
@@ -74,7 +74,7 @@
74
74
 
75
75
  //sqlite3に用いる関数
76
76
 
77
- int ItemCallback(void* iteminfo, int size, char * *data, char * *ColName) {
77
+ int ItemCallback(void* iteminfo, int size, char **data, char **ColName) {
78
78
 
79
79
  vector<ITEM_SPEC> *vitem = (vector<ITEM_SPEC>*)iteminfo;
80
80
 
@@ -235,3 +235,5 @@
235
235
  }
236
236
 
237
237
  ```
238
+
239
+ ```

4

プログラムをコード化しました(修正)。

2021/03/21 10:15

投稿

iwanami
iwanami

スコア9

test CHANGED
File without changes
test CHANGED
@@ -60,7 +60,7 @@
60
60
 
61
61
  //sqlite3に用いる関数
62
62
 
63
- int CountCallback(void* pOutCount, int size, char* * rec, char* * ColName) {
63
+ int CountCallback(void* pOutCount, int size, char** rec, char** ColName) {
64
64
 
65
65
  int *count = (int*)pOutCount;
66
66
 

3

プログラムをコード化しました。

2021/03/21 10:08

投稿

iwanami
iwanami

スコア9

test CHANGED
File without changes
test CHANGED
@@ -1,3 +1,5 @@
1
+ ```C++
2
+
1
3
  DXライブラリを用いてVS2017でゲームを制作している初心者です。
2
4
 
3
5
  sqlite3を以下のサイトを参考にしてVS2017に実装しようとしています。
@@ -231,3 +233,5 @@
231
233
  sqlite3_close(ItemDB);
232
234
 
233
235
  }
236
+
237
+ ```

2

2つのcallback関数の第3引数と第4引数を修正しました。

2021/03/21 10:06

投稿

iwanami
iwanami

スコア9

test CHANGED
File without changes
test CHANGED
@@ -58,7 +58,7 @@
58
58
 
59
59
  //sqlite3に用いる関数
60
60
 
61
- int CountCallback(void* pOutCount, int size, char **rec, char **ColName) {
61
+ int CountCallback(void* pOutCount, int size, char* * rec, char* * ColName) {
62
62
 
63
63
  int *count = (int*)pOutCount;
64
64
 
@@ -72,7 +72,7 @@
72
72
 
73
73
  //sqlite3に用いる関数
74
74
 
75
- int ItemCallback(void* iteminfo, int size, char **data, char **ColName) {
75
+ int ItemCallback(void* iteminfo, int size, char * *data, char * *ColName) {
76
76
 
77
77
  vector<ITEM_SPEC> *vitem = (vector<ITEM_SPEC>*)iteminfo;
78
78
 

1

エラーメッセージ(例外処理)のコメントを追記しました

2021/03/21 06:35

投稿

iwanami
iwanami

スコア9

test CHANGED
File without changes
test CHANGED
@@ -22,6 +22,16 @@
22
22
 
23
23
 
24
24
 
25
+ (追記)
26
+
27
+ すみませんエラーメッセージを載せるのを忘れていました。
28
+
29
+ 正確にはエラーメッセージではなく、例外処理なのですがそれも載せておきます。
30
+
31
+ 「ハンドルされない例外が 0x00E29026 (game.exe) で発生しました: 無効なパラメーターを致命的と見なす関数に無効なパラメーターが渡されました。」
32
+
33
+
34
+
25
35
  //「アイテムの仕様」のクラス
26
36
 
27
37
  class ITEM_SPEC {