質問編集履歴

3

コード一部修正

2016/09/08 05:32

投稿

taketake221
taketake221

スコア17

test CHANGED
File without changes
test CHANGED
@@ -144,7 +144,7 @@
144
144
 
145
145
 
146
146
 
147
- If result IsNot "" Then ret = CInt(result)
147
+ If result IsNot "" Then ret = CStr(result)
148
148
 
149
149
 
150
150
 

2

実装環境記載、テーブル構成追記

2016/09/08 05:32

投稿

taketake221
taketake221

スコア17

test CHANGED
@@ -1 +1 @@
1
- SQLserverのdate型データとVBで取得した日付を比較したい(String "2016/09/08" から型 'Integer' への変換は無効です、のエラーが発生しています)
1
+ SQLserverのdate型データとVBで取得した日付を比較したいです
test CHANGED
@@ -1,4 +1,8 @@
1
- 初級者です。初歩的な質問ですが、よろしくお願いします。
1
+ 初級者です。ASP.NET Webフォームアプリに関する質問です。初歩的なことですが、よろしくお願いします。
2
+
3
+
4
+
5
+ ※OSはWindows7、.NET Framework4、Visual Stdio 2010、SQLserver2012、IE11を利用しています。
2
6
 
3
7
 
4
8
 
@@ -26,6 +30,12 @@
26
30
 
27
31
 
28
32
 
33
+ <テーブルの構成>
34
+
35
+ ![イメージ説明](b7ac8643c5a20d584a53f605bcfa08ad.png)]
36
+
37
+
38
+
29
39
  現在のコードでは、双方で取得された日付が異なった場合の処理Bが実行されている状態にあります。
30
40
 
31
41
 
@@ -34,17 +44,9 @@
34
44
 
35
45
 
36
46
 
37
- 「If day Like dtToday.ToString() Then」部分は、演算子を「=」も試しました。
47
+ DateDiff 関数というもがあると別方面教えていただきました。
38
48
 
39
- 、「dtToday」データ型を変換するため「.ToString() 」を付与してみました
49
+ そちらを利用しコードだとどように書けばよいのかも教えていただけとありがいです
40
-
41
-
42
-
43
- SQL構文に記述ミスがあったので修正。
44
-
45
- ブレークポイントを設定し、ステップイン機能で検証してみると、
46
-
47
- 例外処理が生じており「String "2016/09/08" から型 'Integer' への変換は無効です」と表示されていました。
48
50
 
49
51
 
50
52
 

1

コードの一部修正、タイトルに現在のエラーメッセージ記載。

2016/09/08 03:25

投稿

taketake221
taketake221

スコア17

test CHANGED
@@ -1 +1 @@
1
- SQLserverのdate型データとVBで取得した日付を比較するプログラムを記述したいです
1
+ SQLserverのdate型データとVBで取得した日付を比較したい(String "2016/09/08" から型 'Integer' への変換は無効です、のエラーが発生しています)
test CHANGED
@@ -40,6 +40,14 @@
40
40
 
41
41
 
42
42
 
43
+ SQL構文に記述ミスがあったので修正。
44
+
45
+ ブレークポイントを設定し、ステップイン機能で検証してみると、
46
+
47
+ 例外処理が生じており「String "2016/09/08" から型 'Integer' への変換は無効です」と表示されていました。
48
+
49
+
50
+
43
51
  ```Visual Basic
44
52
 
45
53
  Imports System.Data.SqlClient
@@ -66,11 +74,11 @@
66
74
 
67
75
  If day Like dtToday.ToString() Then
68
76
 
69
- LblMsg.Text = "今日のデータはすでに格納されています" '処理A
77
+ LblMsg.Text = "今日のデータはすでに格納されています"
70
78
 
71
79
  Else
72
80
 
73
- LblMsg.Text = "大丈夫!" '処理B
81
+ LblMsg.Text = "大丈夫!"
74
82
 
75
83
  End If
76
84
 
@@ -92,7 +100,7 @@
92
100
 
93
101
  Dim cnStr As String = System.Configuration.ConfigurationManager.
94
102
 
95
- ConnectionStrings("○○○○○○○○ConnectionString").ConnectionString
103
+ ConnectionStrings("○○○○○○ConnectionString").ConnectionString
96
104
 
97
105
 
98
106
 
@@ -102,8 +110,6 @@
102
110
 
103
111
  Dim SQL As String
104
112
 
105
- '特定のFacilityIDの日付が最新のレコードを参照
106
-
107
113
  SQL = "SELECT date" &
108
114
 
109
115
  " from tbl_valueTest as A" &
@@ -112,7 +118,7 @@
112
118
 
113
119
  " group by FacilityID" &
114
120
 
115
- " having hotel_ID = A.FacilityID and MAX(date) = A._date)" &
121
+ " having FacilityID = A.FacilityID and MAX(date) = A.date)" &
116
122
 
117
123
  " and FacilityID = 1 "
118
124
 
@@ -124,17 +130,19 @@
124
130
 
125
131
  Try
126
132
 
133
+
134
+
127
135
  connection.Open()
128
136
 
129
137
 
130
138
 
131
- Dim result As Object = Nothing
139
+ Dim result As String = ""
132
140
 
133
141
  result = command.ExecuteScalar()
134
142
 
135
143
 
136
144
 
137
- If result IsNot Nothing Then ret = CInt(result)
145
+ If result IsNot "" Then ret = CInt(result)
138
146
 
139
147
 
140
148