我有这段代码:
If SalaryCbx.Checked = True Then
fundSalary = "S" <- Throws an error
Else
fundSalary = "N" <- Throws an error
End If
SonarQube抛出了一个关键的&#34;错误:
未使用分配 (类别:代码中的冗余) resharper-vbnet RedundantAssignment 分配的值不在任何执行路径中使用
有没有更好的方法来编写这种逻辑?
我尝试了Select Case
语句,但它也抛出了错误。
我也使用相同的代码,除了不同的变量/复选框,它工作正常 - 没有错误。
更新:我在这里使用它。
Dim insertQry As String = "INSERT INTO FUND (FUND_ID, FUND_NM, FUND_TICKER_NM, FUND_SALARY_IND, FUND_BONUS_IND, FUND_ALCTN_IND, BEG_DT, END_DT) "
insertQry &= " VALUES(@FundID, @fndName, @fndTicker, @fndSalary, @fndBonus, @fndAllocation, @fndBeg, @fndEnd) "
'Code omitted
'Declare Connection String
Using sqlConnection As New SqlConnection(myConn)
'Declare variable for SQL command
Using cmd As New SqlCommand(insertQry)
With cmd
.Connection = sqlConnection
.CommandType = CommandType.Text
.Parameters.AddWithValue("@FundID", id)
.Parameters.AddWithValue("@fndName", fundName)
.Parameters.AddWithValue("@fndTicker", fundTicker)
.Parameters.AddWithValue("@fndSalary", fundSalary)
答案 0 :(得分:2)
该消息表示您未在代码的任何其他部分中读取指定的值。可能的原因:
你犯了一个错误(就像复制粘贴错误一样)并且意外地读了一个不同的变量,你打算读这个。
阅读代码在较窄的范围内使用同名变量隐藏了书面变量。
不再需要存在的旧代码,因为没有任何东西可以读取变量。
检查员误报。