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

質問編集履歴

3

タイトル編集

2016/10/02 09:18

投稿

taketake221
taketake221

スコア17

title CHANGED
@@ -1,1 +1,1 @@
1
- 質問回答の更新プログラムでFormView-EditItemTemplateでの編集に応じてデータベースを同時更新したい。
1
+ ASP.NET FormView-EditItemTemplateでの編集に応じてデータベースを同時更新したい。
body CHANGED
File without changes

2

デバッグ改善編集

2016/10/02 09:18

投稿

taketake221
taketake221

スコア17

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
- 「オブジェクト変数またはWithブロック変数が認定されていません」のエラーではありませんが、正常に動作するよう改善箇所・方法のご指摘をお願いいたします。
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

タイトル変更、改善箇所追記

2016/10/02 08:34

投稿

taketake221
taketake221

スコア17

title CHANGED
@@ -1,1 +1,1 @@
1
- 質問回答の更新プログラムで「オブジェクト変数またはWithブロック変数が認定されていません」エラが出ないよう改善したい。
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
- ・コード上のDropDownList○.SelectedValue」の部分で「DropDownList○宣言されていません。アクセスきない保護レベルなっています」と表示されること
30
+ オブジェクト変数またWithブロック変数が認定されていません」のエラーはありませんが、正常動作するよう改善箇所・方法のご指摘をお願いたします。
24
31
 
25
- ・上記にしたがって、「Private Property DropDownList1 As Object」の一文を付け足して実行すると、
26
- 「DropDownList1.SelectedValue」の部分で、以下のようなメッセージが表示される。
27
-
28
- ![イメージ説明](8ad54a458e663169074d95d5770809f3.png)
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 "いいえ"