質問編集履歴
3
タイトル編集
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
|
1
|
+
ASP.NET FormView-EditItemTemplateでの編集に応じてデータベースを同時更新したい。
|
body
CHANGED
File without changes
|
2
デバッグ改善編集
title
CHANGED
File without changes
|
body
CHANGED
@@ -27,8 +27,20 @@
|
|
27
27
|
の記述で、目に見えるエラーは改善されたようですが、
|
28
28
|
データベース上ではresult1~result5までの回答データが更新されるだけで、点数(point)と日付(date)は更新がなされない状況です。
|
29
29
|
|
30
|
+
10/2 17:30編集
|
31
|
+
```ここに言語を入力
|
32
|
+
strSQL = "UPDATE tbl_testRg" &
|
33
|
+
" SET point = " & point & "," &
|
30
|
-
|
34
|
+
" date = " & "'" & dtToday & "'" &
|
35
|
+
" WHERE 更新先フィールドのID(記述方法がわかりません)"
|
31
36
|
|
37
|
+
```
|
38
|
+
の部分で「& "'" & dtToday & "'" &」の記述にミスがあり、改善したところ、
|
39
|
+
テスト用にWHERE ID = 1としてID:1のデータ編集の場合のみ正常に動作することが確認できました。
|
40
|
+
|
41
|
+
元にするフィールドのIDをここでどう記述すればよいのかがわかりませんので、教えていただきたいです。
|
42
|
+
|
43
|
+
|
32
44
|
```VB
|
33
45
|
Protected Sub FormView1_ItemUpdating(sender As Object, e As System.Web.UI.WebControls.FormViewUpdateEventArgs) Handles FormView1.ItemUpdating
|
34
46
|
|
@@ -47,7 +59,7 @@
|
|
47
59
|
Dim strSQL As String
|
48
60
|
strSQL = "UPDATE tbl_testRg" &
|
49
61
|
" SET point = " & point & "," &
|
50
|
-
" date = " & dtToday &
|
62
|
+
" date = " & "'" & dtToday & "'" &
|
51
63
|
" WHERE 更新先フィールドのID(記述方法がわかりません)"
|
52
64
|
|
53
65
|
Dim cnStr As String = System.Configuration.ConfigurationManager.
|
1
タイトル変更、改善箇所追記
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
質問回答の更新プログラムで
|
1
|
+
質問回答の更新プログラムでFormView-EditItemTemplateでの編集に応じてデータベースを同時更新したい。
|
body
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
質問タイトルがわかりにくいかもしれません。ご勘弁ください。
|
2
|
+
|
1
3
|
ASP.NET Webフォームアプリに関する質問です。
|
2
4
|
演習で、データベースを更新できるしくみを実装中です。
|
3
5
|
(実装機能については以前させていただいた[こちら](https://teratail.com/questions/47235)の質問で記載していたものと類似していますが、構成や機能が一部異なりましたので、新たに質問させていただきました。)
|
@@ -8,7 +10,7 @@
|
|
8
10
|
|
9
11
|
更新先のテーブル構成は以上のような感じで、
|
10
12
|
result1~result5 には"はい"、"いいえ"、"未回答"の回答いずれかが、
|
11
|
-
pointには格納された回答に応じた点数(「はい」なら+1、「いいえ」なら-1、「未回答」なら加減なし)が、dateには格納日が格納されます。
|
13
|
+
pointには格納された回答に応じた点数(各回答が「はい」ならpoint+1、「いいえ」ならpoint-1、「未回答」なら加減なしで判定し、最終値を格納)が、dateには格納日が格納されます。
|
12
14
|
|
13
15
|
|
14
16
|
「編集」ボタンをおすと、フォームビューで表示した過去の回答(ラベルコントロールの内容)をもとに、
|
@@ -18,16 +20,15 @@
|
|
18
20
|
|
19
21
|
「登録」ボタンを押すと、ドロップダウンリストで選択された回答によってポイントを計算し、日付とともに同時にデータベースに格納したいのですが、どのように記述すればよいのでしょうか。
|
20
22
|
|
23
|
+
10/02 17:00編集(タイトル変更)
|
24
|
+
```
|
25
|
+
Select Case DropDownList1.DirectCast(FormView1.FindControl("DropDownList1"), DropDownList).SelectedValue
|
26
|
+
```
|
21
|
-
|
27
|
+
の記述で、目に見えるエラーは改善されたようですが、
|
28
|
+
データベース上ではresult1~result5までの回答データが更新されるだけで、点数(point)と日付(date)は更新がなされない状況です。
|
22
29
|
|
23
|
-
|
30
|
+
「オブジェクト変数またはWithブロック変数が認定されていません」のエラーではありませんが、正常に動作するよう改善箇所・方法のご指摘をお願いいたします。
|
24
31
|
|
25
|
-
・上記にしたがって、「Private Property DropDownList1 As Object」の一文を付け足して実行すると、
|
26
|
-
「DropDownList1.SelectedValue」の部分で、以下のようなメッセージが表示される。
|
27
|
-
|
28
|
-

|
29
|
-
|
30
|
-
|
31
32
|
```VB
|
32
33
|
Protected Sub FormView1_ItemUpdating(sender As Object, e As System.Web.UI.WebControls.FormViewUpdateEventArgs) Handles FormView1.ItemUpdating
|
33
34
|
|
@@ -36,7 +37,7 @@
|
|
36
37
|
Dim dtToday As DateTime = Date.Today
|
37
38
|
|
38
39
|
/・・・質問5つ分(繰り返し文は不問とします)・・・/
|
39
|
-
Select Case DropDownList1.SelectedValue
|
40
|
+
Select Case DropDownList1.DirectCast(FormView1.FindControl("DropDownList1"), DropDownList).SelectedValue
|
40
41
|
Case "はい"
|
41
42
|
point = point + 1
|
42
43
|
Case "いいえ"
|