读书人

为什么通过GetString()取出的字符串与

发布时间: 2012-01-19 00:22:28 作者: rapoo

求助:为什么通过GetString()取出的字符串与TextBox.Text取出的字符串始终无法比较成功?
各位大侠,我是个.NET新手,有个问题向大家请教。我想做个登陆程序,但是通过getstring()取出的字符串与Textbox里输入的字符串即使一样,在比较时也显示不同,小弟百思不得其解,请各位大侠指教,下面是部分代码:
protected void Button1_Click(object sender, EventArgs e)
{
string gh = TextBox1.Text;
SqlConnection conn = new SqlConnection();
conn.ConnectionString = "Data Source=WLEI;Initial Catalog=MIS;User ID=sa;Password=3329 ";
SqlCommand cmd = new SqlCommand();
cmd.CommandText = "select gh,pwd from employee where gh= ' "+gh+ " ' ";
cmd.Connection = conn;
conn.Open();
SqlDataReader reader = cmd.ExecuteReader();


try
{
if (reader.Read())
{
if (reader.GetString(1) == TextBox2.Text)
{
Response.Write( "OK ");
}
else
{
Response.Write( "bad ");
}
}
else
{
Response.Write( "no such user ");
}
}
finally
{


reader.Close();
conn.Close();
conn.Dispose();
}

}

[解决办法]
确认数据库中对应的字段是char or varchar
char 会默认在后面补空格达到字段的设计长度.

//试试这样
if (reader.GetString(1).Trim() == TextBox2.Text)

[解决办法]
reader.GetString(1).Trim()==TextBox2.Text.Trim()试试看

读书人网 >asp.net

热点推荐