2016-12-29 140 views
-1

次のコード行は、aspxコードがローカルマシン上のIISで実行されているときに上記のエラーを示します。BC30201:式が期待される

Details = If(.GetString(2) = "", "", "<div><b>" & .GetString(2) & "</b></div>") 

本番Webサーバーではまったく同じコードがエラーなく実行されます。 私はちょうどこのサイトを見て引き継いだし、私は前にこのタイプのIfステートメントに出くわしていません。

ここには、BC30201エラーを生成する上記の文の前にあるコードがあります。

' Execute SQL procedure to fetch performance details 

With New SQLCommand("FetchPerformance1", New SQLConnection(ConfigurationManager.ConnectionStrings("C1").ConnectionString)) 

.Parameters.AddWithValue("@Performance", Code) 
.Parameters.AddWithValue("@Filters",  Convert.ToByte(Mid(Query, 24, 1), 16)) 

.CommandType = StoredProcedure : .Connection.Open 

With .ExecuteReader(CloseConnection) 


' If performance not found ... 

If Not .Read 


' Display message page: 




' Terminate script: 

    .Close : Response.End 

End If 


' Construct performance details string: 

If .GetInt32(0) > 0 Then Links = "<a href=""view3.aspx" & Left(Query, 24) & Hex(.GetInt32(0)) & """ style=""float: left"">&lt;&lt;</a>" 
If .GetInt32(1) > 0 Then Links &= "<a href=""view3.aspx" & Left(Query, 24) & Hex(.GetInt32(1)) & """ style=""float: right"">&gt;&gt;</a>" 
+0

どのエラーが表示されますか? 構文は非常に奇妙に見えます。ドット演算子( '.')は、オブジェクトのメソッドにアクセスしていることを意味しますが、ドットの前には何もありません。また、「true」と「false」の間に決定があることを意味し、そのようなことはここにありません。 –

+0

BC30201:期待される表現は私が得るエラーです。ドット演算子(。)は、レコードの3番目のフィールドを参照します。私の2番目の質問は、if文が達成しようとしていたことを完全に理解していないことでした。 – DZS50

+0

私は単なる線以上のものが必要だと思います。それを取り巻くコードをいくつか与えてください。また、どの言語を見ていますか? –

答えて

0

ASP.NETバージョン:4.0.30319.36373を使用するようにIISを構成しました。それは正常に動作します

+0

そして、理由は 'If'演算子が.NETバージョン2.0のVB –

関連する問題