質問編集履歴

2

再追加しました

2020/02/14 06:58

投稿

bonabona
bonabona

スコア6

test CHANGED
File without changes
test CHANGED
@@ -136,6 +136,20 @@
136
136
 
137
137
  Dim aaa As New SQLiteCommand("SELECT count(*) FROM Sample WHERE QUESTION='AAA' AND ANSWER='AAA'", con)
138
138
 
139
+
140
+
141
+ <<<以下1行再追加です>>>
142
+
143
+ Label1.Text = CStr(aaa.ExecuteScalar())
144
+
145
+ このラベル1に取得した値を表示させて確認をしようとしましたが、これが0のまま変わらずできなくてご相談した次第です。
146
+
147
+
148
+
149
+
150
+
151
+
152
+
139
153
  End Using
140
154
 
141
155
  End Function

1

ご返信に対して追加情報を記載いたしました。

2020/02/14 06:58

投稿

bonabona
bonabona

スコア6

test CHANGED
File without changes
test CHANGED
@@ -42,7 +42,109 @@
42
42
 
43
43
  Dim aaa As New SQLiteCommand("SELECT count(*) FROM Sample WHERE ANSWER ='AAA'", con)
44
44
 
45
+
46
+
47
+ 追加点
48
+
49
+ データベースの中身ですが、画像クイズアプリをVBフォームで開発していまして、
50
+
51
+ その問題と回答を表に収めていくものです。問題は文ではなく画像で、
52
+
53
+ プログラム内部で画像に対する正解名を持っています。回答は毎回同じ5択の選択肢となっています。
54
+
55
+ ここで回答ボタンを押すたびにSQLのInsert文が発行され、問題の画像名と回答が2列表に追加されます。
56
+
57
+ ここから回答列の特定の名称のみの回答数を取得したいと考えています。
58
+
59
+ 以下表のイメージです。
60
+
61
+ QUESTION  ANSWER
62
+
63
+ -------- -------
64
+
65
+ AAA     BBB
66
+
67
+ CCC     DDD
68
+
69
+ AAA     AAA
70
+
71
+ DDD     DDD
72
+
73
+ BBB     AAA
74
+
75
+
76
+
77
+ 例えばAAAと回答した回数を取得したいのと、最終的に、問題AAAに対してAAAやBBBやCCCなど、
78
+
79
+ 回答のばらつきを見たいと思っています。
80
+
81
+ SQL文は、"SELECT count(*) FROM Sample WHERE QUESTION='BBB' AND ANSWER='AAA'
82
+
83
+ こちらを本来は実行したかったのですが、どうもANSWER列(2列目)が認識されていないのかなと。。。
84
+
85
+ 以下、データ登録コードです。
86
+
87
+ ここで使われる変数questとmyansが表に収まる文字列でして、フォーム上のオブジェクトの
88
+
89
+ textプロパティが格納されています。
90
+
91
+ "ダミーデータ登録(テーブルへINSERT)"
92
+
93
+ Private Sub InsertData()
94
+
95
+ 'データベースを操作する
96
+
97
+ Using con As New SQLiteConnection("Data Source=" & DATABASE_NAME)
98
+
99
+ 'データベースへアクセスする
100
+
101
+ con.Open()
102
+
103
+
104
+
105
+ '生成したラベル名称をテーブルへINSERT
106
+
107
+ Using cmd As SQLiteCommand = con.CreateCommand()
108
+
109
+ cmd.CommandText = "INSERT INTO Sample (QUESTION,ANSWER) VALUES('" & quest & "', '" & myans & " ')"
110
+
111
+ cmd.ExecuteNonQuery()
112
+
113
+ End Using
114
+
115
+ End Using
116
+
117
+ End Sub
118
+
119
+
120
+
121
+ 以下、データ取得コードです()
122
+
123
+ "登録されているデータを取得"
124
+
125
+ Private Function GetData()
126
+
127
+ 'データベースを操作する
128
+
129
+ Using con As New SQLiteConnection("Data Source=" & DATABASE_NAME)
130
+
131
+ 'データベースへアクセスする
132
+
133
+ con.Open()
134
+
135
+ '登録されているデータ数を取得
136
+
137
+ Dim aaa As New SQLiteCommand("SELECT count(*) FROM Sample WHERE QUESTION='AAA' AND ANSWER='AAA'", con)
138
+
139
+ End Using
140
+
141
+ End Function
142
+
143
+
144
+
45
145
  ```
146
+
147
+
46
148
 
47
149
 
48
150