if语句上有红线

时间:2013-07-30 08:40:47

标签: c# asp.net

问题“if(period.Tostring()=”1年“)”想要检查数据库nvarchar并进行循环,因为我需要转换它但是它给了我一条红线。

string strCommandText4 = "SELECT autoLoanPeriod From AutoLoan WHERE userID= '" + Session["userID"] + "';";
    SqlCommand myCommand4 = new SqlCommand(strCommandText4, myConnection);
    var period = myCommand.ExecuteScalar();


    if (period.ToString() = "1 year")
    {
        for (int i = 0; i<= 12; i++)
        {
           string strCommandText5 = "INSERT INTO AutoTrans VALUES(@loanID,@transPeriod,null,@transStatus);";

            SqlCommand myCommand5 = new SqlCommand(strCommandText5, myConnection);
            myCommand5.Parameters.AddWithValue("@loanID", Session["@loanID"].ToString());
            myCommand5.Parameters.AddWithValue("@transPeriod", numPeriod);
            myCommand5.Parameters.AddWithValue("@transStatus", status);
        }
    }

4 个答案:

答案 0 :(得分:4)

你应该在If语句中使用“==”。如果有效,请尝试让我知道。

if (period.ToString() == "1 year")

您也可以尝试:

  

string.Equals(period.ToString(),“1 year”);

答案 1 :(得分:2)

使用

if (period.ToString() == "1 year")

if (period.ToString().Equals("1 year"))

比较字符串

答案 2 :(得分:1)

正如adityaswami89所说,在检查平等时需要使用“==”。在上面的代码中,“=”试图将值“1 year”分配给“period.ToString()”,这是一种非法操作。

答案 3 :(得分:1)

你不能在if语句中使用=,因为这是试图{1}}“1年”而无法完成。在您的情况下,您希望使用assign运算符equality

==

请参阅此处有关运营商的msdn文章;

http://msdn.microsoft.com/en-us/library/6a71f45d(v=vs.80).aspx