问题“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);
}
}
答案 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