我正在比较两个字符串, 一个来自数据库,另一个来自比较。 但是当我尝试比较相同的字符串时,它会给出错误的结果。
目前我的代码是:
SqlConnection conchk = new SqlConnection();
conchk.ConnectionString = "Data Source=localhost;Initial Catalog=eVoting;Integrated Security=True;Pooling=False";
conchk.Open();
SqlCommand cmdchk = new SqlCommand("select voted from voter where FirstName ='" + N + "'", conchk);
SqlDataReader readerchk = cmdchk.ExecuteReader();
readerchk.Read();
String vchk = readerchk[0].ToString();
String chk = "N";
MessageBox.Show(vchk);
int cas = chk.CompareTo(vchk);
MessageBox.Show("comp res :" + cas);
if (cas == 0)
{
MessageBox.Show("In if");
}
else
{
MessageBox.Show("In else");
}
答案 0 :(得分:0)
在比较之前,您需要trim
值:
替换为:
int cas = chk.CompareTo(vchk);
以下内容:
int cas = chk.Trim().CompareTo(vchk.Trim());
答案 1 :(得分:0)
使用此方法比较两个字符串
bool isEqual= string.Equals(vchk, chk);
CompareTo
使用序数排序规则执行区分大小写的比较。
String vchk = "n";
String chk = "N";
int sac = chk.CompareTo(vchk);// result will be 1 .
int cas = chk.ToUpper().CompareTo(vchk.ToUpper()); // result will be 0 .
bool isEqual = string.Equals(vchk, chk); // false
请检查您的代码或尝试修剪字符串并使用ToUpper()。