teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

再追加しました

2020/02/14 06:58

投稿

bonabona
bonabona

スコア6

title CHANGED
File without changes
body CHANGED
@@ -67,6 +67,13 @@
67
67
  con.Open()
68
68
  '登録されているデータ数を取得
69
69
  Dim aaa As New SQLiteCommand("SELECT count(*) FROM Sample WHERE QUESTION='AAA' AND ANSWER='AAA'", con)
70
+
71
+ <<<以下1行再追加です>>>
72
+ Label1.Text = CStr(aaa.ExecuteScalar())
73
+ このラベル1に取得した値を表示させて確認をしようとしましたが、これが0のまま変わらずできなくてご相談した次第です。
74
+
75
+
76
+
70
77
  End Using
71
78
  End Function
72
79
 

1

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

2020/02/14 06:58

投稿

bonabona
bonabona

スコア6

title CHANGED
File without changes
body CHANGED
@@ -20,8 +20,59 @@
20
20
 
21
21
  以下データ取得ができなかったコードです
22
22
  Dim aaa As New SQLiteCommand("SELECT count(*) FROM Sample WHERE ANSWER ='AAA'", con)
23
+
24
+ 追加点
25
+ データベースの中身ですが、画像クイズアプリをVBフォームで開発していまして、
26
+ その問題と回答を表に収めていくものです。問題は文ではなく画像で、
27
+ プログラム内部で画像に対する正解名を持っています。回答は毎回同じ5択の選択肢となっています。
28
+ ここで回答ボタンを押すたびにSQLのInsert文が発行され、問題の画像名と回答が2列表に追加されます。
29
+ ここから回答列の特定の名称のみの回答数を取得したいと考えています。
30
+ 以下表のイメージです。
31
+ QUESTION  ANSWER
32
+ -------- -------
33
+ AAA     BBB
34
+ CCC     DDD
35
+ AAA     AAA
36
+ DDD     DDD
37
+ BBB     AAA
38
+
39
+ 例えばAAAと回答した回数を取得したいのと、最終的に、問題AAAに対してAAAやBBBやCCCなど、
40
+ 回答のばらつきを見たいと思っています。
41
+ SQL文は、"SELECT count(*) FROM Sample WHERE QUESTION='BBB' AND ANSWER='AAA'
42
+ こちらを本来は実行したかったのですが、どうもANSWER列(2列目)が認識されていないのかなと。。。
43
+ 以下、データ登録コードです。
44
+ ここで使われる変数questとmyansが表に収まる文字列でして、フォーム上のオブジェクトの
45
+ textプロパティが格納されています。
46
+ "ダミーデータ登録(テーブルへINSERT)"
47
+ Private Sub InsertData()
48
+ 'データベースを操作する
49
+ Using con As New SQLiteConnection("Data Source=" & DATABASE_NAME)
50
+ 'データベースへアクセスする
51
+ con.Open()
52
+
53
+ '生成したラベル名称をテーブルへINSERT
54
+ Using cmd As SQLiteCommand = con.CreateCommand()
55
+ cmd.CommandText = "INSERT INTO Sample (QUESTION,ANSWER) VALUES('" & quest & "', '" & myans & " ')"
56
+ cmd.ExecuteNonQuery()
57
+ End Using
58
+ End Using
59
+ End Sub
60
+
61
+ 以下、データ取得コードです()
62
+ "登録されているデータを取得"
63
+ Private Function GetData()
64
+ 'データベースを操作する
65
+ Using con As New SQLiteConnection("Data Source=" & DATABASE_NAME)
66
+ 'データベースへアクセスする
67
+ con.Open()
68
+ '登録されているデータ数を取得
69
+ Dim aaa As New SQLiteCommand("SELECT count(*) FROM Sample WHERE QUESTION='AAA' AND ANSWER='AAA'", con)
70
+ End Using
71
+ End Function
72
+
23
73
  ```
24
74
 
75
+
25
76
  ### 試したこと
26
77
 
27
78