-1

“ if (period.Tostring() = "1 year") ”的问题想要检查数据库 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

4 回答 4

4

您应该在 If 语句中使用“==”。请尝试让我知道它是否有效。

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

您也可以尝试:

string.Equals(period.ToString(), "1 年");

于 2013-07-30T08:41:59.177 回答
2

采用

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

或者

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

比较字符串

于 2013-07-30T08:44:48.327 回答
1

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

于 2013-07-30T08:44:31.610 回答
1

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

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

有关运算符的 msdn 文章,请参见此处;

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

于 2013-07-30T08:45:13.257 回答